如何使用 nohup 运行 sudo 命令?我想执行 sudo 命令,然后终止 ssh 会话,但不中断或停止该进程。
我试过了,但没用
sudo nohup . test.sh
答案1
使用
nohup sudo <command> &
第二个问题是执行方式:. script
不能与 一起使用nohup
,因为它.
是 shell 内部命令,并且nohup
只接受可执行文件。这也应该在nohup.out
错误消息中可见。
即使用
nohup sudo /bin/bash script.sh &
(或您运行的任何 shell)或使脚本成为可执行文件。
答案2
它不是 sudo 命令失败,而是.
因为它是内部 shell 命令而失败。这些可能是有效的:
sudo nohup /bin/bash test.sh
或者:
nohup sudo /bin/bash test.sh
区别在于 nohup.out 的所有者
没有 nohup:
sudo /bin/bash test.sh & disown %1
或者:
(sudo /bin/bash test.sh &)
如果您需要在后两种情况下登录,请使用 > logfile 2>&1。根据脚本的性质,您可能不需要指定.
或/bin/bash
根本不需要指定。