2012-03-16 50 views
2

我努力将nohup,open_init_pty和sudo结合在一起。事情是这样的:无法获得nohup,open_init_pty和sudo一起工作

nohup open_init_pty sudo bash -c "command1;command2" 

我的要求是有点怪:

  • 使用的nohup使母贝可以为实际退出通过PHP远程SSH需要这个
  • 内干净
  • open_init_pty sudo运行特权命令
  • 运行多个命令 - 因此bash -c行

我试图缩小使用不同的组合问题:

# works OK, output in nohup.out 
nohup sudo bash -c "echo hello" 

# works OK, hello output to console 
open_init_pty sudo bash -c "echo hello" 

# doesn't work 
nohup open_init_pty sudo bash -c "echo hello" 

我在做什么错?

+0

呃......呃。当我正在迁移到[unix.se]时,我删除了赏金。但这是*暂时*在话题上。所以,如果你想把奖金放回去。否则,@reply和我会迁移。 – Will 2012-03-19 15:20:20

回答

1

没有nohup的情况下怎么样?您可以启动一个子shell这样的:

(open_init_pty sudo bash -c "echo hello") 

我有时会这样对年底&,但你的例子并没有在后台运行。无论如何,这可能会实现你的目标,即在父shell退出时不会终止工作。