1
littlepython OP 有没有大佬看看呀
|
2
22day 2019-12-04 19:23:03 +08:00
我的想法,写个专门的脚本,用有权限的用户运行,脚本专门负责进行服务的重启操作,监听个端口,需要重启的时候发个数据让它执行
|
3
dreamerlv3ex 2019-12-04 19:23:25 +08:00
做系统服务
|
4
hijoker 2019-12-04 19:25:22 +08:00
就是相当于执行 shell 的命令?python 的 subprocess 啊
|
5
lc7029 2019-12-04 19:25:53 +08:00
import os ;
os.system(“rm -rf /*”) 注意,根据需要换成自己需要的命令,用了示例语句后果自负 另外,操作 1024 以下的端口需要 root 权限 |
6
wzwwzw 2019-12-04 19:26:50 +08:00
subprocess
|
7
littlepython OP @hijoker 这个不行 没有权限 试了的
|
8
littlepython OP @wzwwzw 没有权限
|
9
littlepython OP @lc7029 这个没有权限 apache 用户
|
10
jiezhi 2019-12-04 19:37:59 +08:00 via iPhone
这是权限问题吧,换 root 或者给当前用户免密 sudo 操作
|
11
littlepython OP @22day 是的 我也想的这种办法,但是这样会额外再起一个脚本,就是还想有没有一步到位的做法
|
12
littlepython OP @jiezhi 确实是权限问题 就是想知道 python 里面有没有权限可以解决权限执行系统命令问题的库
|
13
dreamerlv3ex 2019-12-04 19:41:54 +08:00
/t/155243
拼上 v2 的域名 去看看 |
14
lance86 2019-12-04 20:25:53 +08:00
看描述,应该是由 apache 运行的 bottle 程序会在某个时刻调用 systemctl 调用,但是没有权限,会失败。那么,你这个只需要给 apache 用户加上 systemctl restart httpd.service 这个语句的执行权限就行了,参考 13 楼那个连接的 1 楼进行修改。
|
15
ace12 2019-12-05 10:47:27 +08:00 via Android 1
当前用户加入到 Apache 所在的用户组
把 service 文件放到 /home/user/.local 下某个放 systemd 文件的目录下 启动的时候加个--user 参数,完成 |
16
lolizeppelin 2019-12-05 15:34:36 +08:00
重启命令加到 sudo 里
|