无法获得nohup,open_init_pty和sudo一起工作

时间:2012-03-16 12:33:18

标签: linux bash sudo nohup

我正努力将nohup,open_init_pty和sudo结合在一起。像这样:

nohup open_init_pty sudo bash -c "command1;command2"

我的要求有点奇怪:

  • 使用nohup,以便父shell可以干净地退出
  • open_init_pty实际上是通过PHP实现的远程SSH内部,需要这个
  • 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"

我做错了什么?

1 个答案:

答案 0 :(得分:1)

没有nohup怎么样?你可以像这样开始一个子shell:

(open_init_pty sudo bash -c "echo hello")

我有时最后使用&执行此操作,但您的示例并未在后台运行。无论如何,如果父shell退出,这可能会实现不终止作业的目标。