【问题标题】:how to terminate some process which is run with sudo with kill如何终止使用 sudo with kill 运行的某些进程
【发布时间】:2013-07-05 13:20:17
【问题描述】:

使用非特权用户帐户,使用 bash,我可以做到:

sudo /bin/sleep 6000

然后用 Ctrl-c 杀死它。但是,从另一个终端发送 SIGINT 或 SIGKILL 将无法达到此目的。

有人知道这是为什么吗?例如,我希望能够终止发送信号的进程,以便在脚本中使用。

问候。

【问题讨论】:

  • 确实以超级用户的身份致电kill,不是吗?否则你将无权终止进程。

标签: kill sudo sigint sigkill


【解决方案1】:

您只能向使用相同 UID 运行的进程发送信号(除非发送进程以 root 身份运行)。当您使用sudo 时,新进程以root 身份运行,但如果您尝试杀死它,您将以普通用户ID 运行。你必须使用sudo kill PID 来杀死它。

从终端控制字符发送的信号被特殊处理:它们可以发送到与终端在同一登录会话中运行的任何进程。

【讨论】:

    猜你喜欢
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    • 2015-08-21
    • 2012-05-03
    • 2017-03-26
    • 1970-01-01
    相关资源
    最近更新 更多