栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

启动后,使用命令行重定向进程的STDERR / STDOUT?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

启动后,使用命令行重定向进程的STDERR / STDOUT?

除非关闭并重新打开您的tty(即注销并重新登录,这可能还会终止该过程中的某些后台进程),否则您只剩下一个选择:

  • 使用gdb附加到有问题的进程,然后运行:
    • p dup2(open(“ / dev / null”,0),1)
    • p dup2(open(“ / dev / null”,0),2)
    • detach
    • quit

例如:

$ tail -f /var/log/lastlog &[1] 5636$ ls -l /proc/5636/fdtotal 0lrwx------ 1 myuser myuser 64 Feb 27 07:36 0 -> /dev/pts/0lrwx------ 1 myuser myuser 64 Feb 27 07:36 1 -> /dev/pts/0lrwx------ 1 myuser myuser 64 Feb 27 07:36 2 -> /dev/pts/0lr-x------ 1 myuser myuser 64 Feb 27 07:36 3 -> /var/log/lastlog$ gdb -p 5636GNU gdb 6.8-debianCopyright (C) 2008 Free Software Foundation, Inc.License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>This is free software: you are free to change and redistribute it.There is NO WARRANTY, to the extent permitted by law.  Type "show copying"and "show warranty" for details.This GDB was configured as "x86_64-linux-gnu".Attaching to process 5636Reading symbols from /usr/bin/tail...(no debugging symbols found)...done.Reading symbols from /lib/librt.so.1...(no debugging symbols found)...done.Loaded symbols for /lib/librt.so.1Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.Loaded symbols for /lib/libc.so.6Reading symbols from /lib/libpthread.so.0...(no debugging symbols found)...done.[Thread debugging using libthread_db enabled][New Thread 0x7f3c8f5a66e0 (LWP 5636)]Loaded symbols for /lib/libpthread.so.0Reading symbols from /lib/ld-linux-x86-64.so.2...(no debugging symbols found)...done.Loaded symbols for /lib64/ld-linux-x86-64.so.2(no debugging symbols found)0x00007f3c8eec7b50 in nanosleep () from /lib/libc.so.6(gdb) p dup2(open("/dev/null",0),1)[Switching to Thread 0x7f3c8f5a66e0 (LWP 5636)]$1 = 1(gdb) p dup2(open("/dev/null",0),2)$2 = 2(gdb) detachDetaching from program: /usr/bin/tail, process 5636(gdb) quit$ ls -l /proc/5636/fdtotal 0lrwx------ 1 myuser myuser 64 Feb 27 07:36 0 -> /dev/pts/0lrwx------ 1 myuser myuser 64 Feb 27 07:36 1 -> /dev/nulllrwx------ 1 myuser myuser 64 Feb 27 07:36 2 -> /dev/nulllr-x------ 1 myuser myuser 64 Feb 27 07:36 3 -> /var/log/lastloglr-x------ 1 myuser myuser 64 Feb 27 07:36 4 -> /dev/nulllr-x------ 1 myuser myuser 64 Feb 27 07:36 5 -> /dev/null

您还可以考虑:

  • 使用
    screen
    ; 屏幕提供了几个虚拟TTY,您可以在不打开新的SSH / telnet / etc,会话的情况下进行切换
  • 使用
    nohup
    ; 这样,您就可以关闭并重新打开会话,而不会丢失…进程中的任何后台进程。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/370558.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号