[英]pkexec "no such file or directory found" when trying to execute a binary from a script
我正在尝试使用asyncio
从 python 脚本执行二进制文件。 我正在使用此处的运行命令。 我尝试定期运行它,但显然我没有权限(即使它确实可以与另一个二进制文件一起使用)所以我知道文件名是正确的。 我还看到 pkexec 可能需要完整路径,所以我给了它完整路径以防万一,但我仍然遇到同样的错误: cannot run program./linkerd: No such file or directory
import os
import asyncio
linkerd_f = linkerd_name() # The file's name in the directory
cwd = os.getcwd()
os.chmod(linkerd_f, 755)
asyncio.run(run(
'pkexec .' + cwd + '/' + linkerd_f))
至于我是怎么运行脚本的,我简单的通过python运行: python3.7 script.py
由于您的调用语法不正确,您的错误是由 pkexec 本身生成的。
您使用os.cwd()
来获取 CWD,但随后在其前面添加了.
这会使完整路径无效。
实际上相当于:
amos:/tmp$ ll simple.sh
-rwxr-xr-x 1 amos amos 73 Mar 16 11:51 simple.sh*
amos:/tmp$ pkexec .$PWD/simple.sh
Cannot run program ./tmp/simple.sh: No such file or directory
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.