有一个复杂的命令需要sudo
:
sudo command par1 666 /home/me/...
我需要启动它,以便在我从终端 (SSH) 注销后它仍然存在。我发现该nohup
命令应该执行此操作。
第一个问题是,这nohup
似乎需要sudo
:
nohup: failed to open `nohup.out': Permission denied
nohup: failed to open `/home/me/nohup.out': Permission denied
第二件事是,后面的参数似乎丢失了。command
使用管理员权限异步运行所有参数的正确语法是什么?
答案1
您的第一个问题是由于 nohup 尝试创建一个名为 nohup.out 的文件。它首先尝试在当前目录中创建它,如果失败,将尝试在您的主目录中创建它。
从您的输出来看,您似乎没有对其中任何一个的写访问权限。
尝试从您有写入权限的目录运行它(如果找不到更好的目录,则为 /tmp)。
对于第二个问题,请尝试在要运行的命令和参数周围加上引号。例如
nohup `sudo 命令 par1 666 /home/me/...`