- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
本着this answer的精神(“不要从 Python 调用 shell 命令。您可以在 Python 中执行 shell 命令可以执行的所有操作。”),这是给很多人的相当普遍的建议,我如何运行选定的单个例程 (并且只有这个例程)在 Python 程序中作为另一个用户,例如root,以 pythonic(并且有点安全)方式?
例如,我在一些代码中有这样一个例程:
import os
import signal
import subprocess
def kill_proc(pid, k_signal = signal.SIGINT, sudo = False):
if sudo:
subprocess.Popen(['sudo', 'kill', '-%d' % k_signal, '%d' % pid]).wait()
else:
os.kill(pid, k_signal)
如果我不需要成为 root,我可以在这个例子中调用 os.kill(pid, k_signal)
。但是,如果在我的示例中需要 super 用户权限来发送信号,我必须通过子进程中的命令发送信号。我怎样才能改用 os.kill
?
最佳答案
您不能以其他用户身份运行 Python 函数。
类 Unix 操作系统将每个进程与特定用户相关联。除非最初的所有者是根用户,否则不能将进程重新分配给其他用户。 Python 函数不是进程,不能有自己的用户。
关于python - 作为另一个用户(例如 root)运行 Python 例程的 pythonic 方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47892057/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!