Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在systemd服务中启动时Python子进程库失败_Python_Subprocess_Systemd - Fatal编程技术网

在systemd服务中启动时Python子进程库失败

在systemd服务中启动时Python子进程库失败,python,subprocess,systemd,Python,Subprocess,Systemd,我正在使用函数subprocess.run和subprocess.check_output,这在我启动python代码时非常有效。然后,我在systemd中创建了一个服务,但当访问这些函数时,该过程崩溃 从日志日志中: Nov 30 19:19:24 srv2 python3[3369]: File "/usr/lib/python3.6/subprocess.py", line 423, in run Nov 30 19:19:24 srv2 python3[3369]: wi

我正在使用函数
subprocess.run
subprocess.check_output
,这在我启动python代码时非常有效。然后,我在systemd中创建了一个服务,但当访问这些函数时,该过程崩溃

从日志日志中:

Nov 30 19:19:24 srv2 python3[3369]:
   File "/usr/lib/python3.6/subprocess.py", line 423, in run
Nov 30 19:19:24 srv2 python3[3369]:
     with Popen(*popenargs, **kwargs) as process:
Nov 30 19:19:24 srv2 python3[3369]:
   File "/usr/lib/python3.6/subprocess.py", line 729, in __init__
Nov 30 19:19:24 srv2 python3[3369]:
     restore_signals, start_new_session)
Nov 30 19:19:24 srv2 python3[3369]:
   File "/usr/lib/python3.6/subprocess.py", line 1364, in _execute_child
Nov 30 19:19:24 srv2 python3[3369]:
     raise child_exception_type(errno_num, err_msg, err_filename)
Nov 30 19:19:24 srv2 python3[3369]:
 FileNotFoundError: [Errno 2] No such file or directory: 'mosquitto_passwd': 'mosquitto_passwd'

由于某种原因,今天早上服务通过了,我添加了
Type=simple
,并将user设置为root,但不确定这是否是原因

[Unit]
Description=my service
After=network.target

[Service]
Type=simple
User=root
Group=root
Restart=always
WorkingDirectory=/home/python/service
ExecStart=/usr/bin/python3 /home/python/service/main.py

[Install]
WantedBy=multi-user.target

你知道什么是mosquitto\u passwd吗?mosquitto\u passwd是我启动的任务。我还使用subprocess.check_输出(['pidof',]),在python中启动时工作,但在从服务启动时不再工作