Answers:
太晚了。经过一个过程开始时,外壳有没有更多的控制过程的文件描述符,所以你不能沉默的一个shell命令它。
你只能尽量杀一个SIGHUP
的过程。如果您的进程正确处理了它,则应脱离对tty的控制。不幸的是,许多软件不能正确地处理它,只会死掉。
SIGSTOP
到进程(或者就像你说的做CTRL + Z)不沉默的过程。停止进程!
我不同意andcoz认为现在将输出静音是为时已晚。
假设该进程在前台运行,请使用Ctrl-Z
挂起该进程。这样做将报告作业号和进程ID。您可以继续使用bg %1
(对于作业1)将过程移至后台。尽管这会将进程移至后台,但不会使输出静音。要使输出静音,可以使用gdb
将所有输出重定向到/dev/null
。
之前在/programming/593724/redirect-stderr-stdout-of-a-process-after-its-been-started-using-command-lin/593764#593764中对此进行了很好的描述。
另一个命令行工具是detach
。最新版本支持编写pidfile,使用stdin,stdout和stderr文件,并在前台运行。(该网站detach
还讨论了类似的工具。)