在组名称下的后台运行任务

时间:2015-11-20 08:55:24

标签: linux bash nohup

我在Unix上的用户名为xxx333,我是名为doggroup的群组的成员:

[xxx333@slowMachine ~]$ groups
doggroup xxx333

我想使用nohup作为守护程序(在后台)执行任务,但不在我的id下,在组ID下执行。我试过sg,这执行任务但不在后台执行:

[xxx333@slowMachine ~]$ sg doggroup -c 'nohup sleep 100'
nohup: ignoring input and appending output to `nohup.out'

我该如何完成这项任务?

1 个答案:

答案 0 :(得分:1)

尝试简单地在命令

中添加尾随&
sg doggroup -c 'nohup sleep 100 &'

如果没有&进程正在前台运行(默认值):在这种情况下,sg命令很简单,等待nohup终止执行,进而返回控制到壳。

添加&nohup进程置于后台(因此控件立即返回sg)。

nohup有2个效果:

  • 受影响的进程不受SIGHUP信号的影响(当终端开始关闭时发送给终端的所有子进程的信号);
  • 将stdout重定向到文件,就像尾随> nohup.out
  • 一样