在后台运行程序作为sudo

use*_*143 3 linux sudo

我在linux虚拟机上,我正在尝试运行sudo synaptic &应该在后台启动synaptic 的命令.但是,它不会要求输入密码,程序似乎也没有启动.我之前没有输入密码,因为运行任何其他命令而没有&在最后请求我的密码.问题是什么?

Anu*_*EHS 13

sudo --help 说关于选项 -b

-b, --background              run command in the background
Run Code Online (Sandbox Code Playgroud)

这对我有用

sudo -b su -c "command what you want to run"
Run Code Online (Sandbox Code Playgroud)


Thy*_*st' 10

你可以跑 sudo bash -c 'synaptic &'


ise*_*dev 5

问题是该sudo命令本身正在后台运行。因此,当它尝试访问标准输入以读取密码时,它将被停止(SIGSTOP)。

一个简单的解决方案是创建一个要运行的 shell 脚本synaptic &,然后sudo将该脚本放在前台(即不使用&)。

  • 您可以添加一个描述“突触&”的链接吗 (2认同)