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

问题描述 投票:-1回答:1

我正在使用subprocess.runsubprocess.check_output函数,当我启动python代码时,该函数很好用。然后,我在systemd中创建了一个服务,但是进入这些功能时进程崩溃了。

从日志journalctl:

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'

我正在使用subprocess.run和subprocess.check_output函数,该函数在启动python代码时效果很好。然后,我在systemd中创建了一个服务,但是进入这些目录时,该过程崩溃了...

python subprocess systemd
1个回答
-1
投票

由于某种原因,该服务在今天早上进行,我添加了Type=simple并将用户设置为root,但不确定是否是原因

© www.soinside.com 2019 - 2024. All rights reserved.