2015-11-20 34 views
0

我在Unix上的用戶名是xxx333,我命名爲doggroup組的一部分:下一個組名運行的後臺任務

[[email protected] ~]$ groups 
doggroup xxx333 

我想執行任務作爲一個守護進程(在後臺)使用nohup但不在我的ID下,在組ID下。我試過sg,此執行任務,但不是在後臺:

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

我怎麼能借此在這個任務?

+0

一個文件將人們願意接近的問題作出解釋? –

+1

這與編程無關,更適合超級用戶。 – Tensibai

回答

1

嘗試簡單地尾隨&添加到命令

sg doggroup -c 'nohup sleep 100 &' 

沒有&進程在前臺(默認)運行:在這種情況下,sg命令正在等待nohup終止其執行,以簡單反過來,將控制返回到shell。

添加一個&在後臺放入nohup進程(所以控制立即返回到sg)。

nohup有2個作用:

  • 受影響的過程成爲免疫SIGHUP信號(當它開始關閉發送到終端的所有子過程的信號);
  • 標準輸出重定向到就像尾隨> nohup.out
+0

這不起作用。爲什麼要添加尾隨&會給出正確的效果? –

+0

@ColonelBeauvel:我已經添加了一個簡單的解釋。該命令在我的環境中按預期工作,您是否可以添加額外的細節來調試您的情況? –