【问题标题】:Stop output of a process started in background停止在后台启动的进程的输出
【发布时间】:2016-02-19 07:39:25
【问题描述】:

我想在后台启动一个新进程,所以我输入了“ls/usr -R1 &”,但是我仍然可以看到输出。我该如何解决这个问题?提前致谢。

【问题讨论】:

  • 老兄——你期待是什么?更重要的是:您究竟想要什么?如果您希望输出转到文本文件,请使用重定向:ls/usr -R1 > myfile.txt &。如果您想将进程与登录完全分开,请使用nohup。如果您想通过电子邮件将输出发送给自己,请使用管道:ls/usr -R1 | /usr/sbin/sendmail -s "My ls -R" test@email.com。等等等等——这一切都取决于你想要完成什么。

标签: linux ubuntu-server


【解决方案1】:

这里你必须考虑两个方面:

  1. 查看nohup 实用程序和

  2. 了解“输出重定向”

这会导致类似:

nohup kwrite 2>&1 &

kwrite 显然只是一个例子。

您将在文件nohup.out 中找到进程的实际输出和错误输出。您也可以监视该文件。如果您不想要任何输出(这里要小心!),那么您最终可以将内容重定向到/dev/null

【讨论】:

    【解决方案2】:

    您需要转发标准输出,因此您需要使用“>”。

    执行以下操作:

    ls/usr -R1 > /dev/null &
    

    干杯

    【讨论】: