2012-01-12 167 views

回答

6

这是正常的:shell的作业控制机制终止其就业机会退出时。

至少有两种解决方案:

  • 使用disown你都推出了作业之后;
  • 使用at可以在以后安排工作;
  • 或使用nohup命令。

现在,有你想和你在后台启动命令的输出做什么的问题:

  • disown,你失去它;
  • at,stdout和stderr通过邮件发送给你(但如果你愿意,你可以重定向stdout/stderr);
  • nohup,你自己定义输出文件。
2

尝试“nohup的”命令运行COMMAND,忽略挂起信号

nohup COMMAND & 
2

试试你的命令之前使用的nohup(代表没有挂断):

nohup <your command> 

它将命令的标准输出转发到一个默认名为nohup.out的文件。

2

下面是一个例子,如何做到这一点:

nohup your_command </dev/null> output.log 2>&1 & 
+0

提供代码示例时,应该在其前面加上4个空格,以便将其格式化为代码示例。 – shamp00 2012-01-12 15:46:51