【问题标题】:Running a program in the background as sudo以 sudo 身份在后台运行程序
【发布时间】:2014-11-24 10:26:26
【问题描述】:

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

【问题讨论】:

  • pass password to su/sudo/ssh 的可能重复项
  • 您是否以“root”身份登录虚拟机?如果是这样,您正在以 root 权限运行,请注意这一点。
  • 尝试使用 sudo 将某些东西作为背景 - 任何东西 - 会立即引发几个危险信号。您要解决的实际问题是什么?您是否尝试将其作为由您的主管套件管理的服务(systemd、runit、OpenRC 或您的系统正在使用的其他任何东西)运行?

标签: linux sudo


【解决方案1】:

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

一个简单的解决方案是创建一个 shell 脚本来运行 synaptic &,然后在前台运行 sudo 脚本(即没有 &)。

【讨论】:

  • 您能否提供一个链接来描述“突触和”
【解决方案2】:

你可以运行sudo bash -c 'synaptic &'

【讨论】:

    【解决方案3】:

    sudo --help 说关于选项 -b

    -b, --background              run command in the background
    

    这对我有用

    sudo -b su -c "command what you want to run"
    

    【讨论】:

    • 显然你可以在sudo -b之后运行命令,你不需要内部的su -c
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-17
    • 1970-01-01
    • 2011-12-29
    • 2011-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多