我是新来的,希望了解情况,因此,我制作了一幅长篇的文字,从分处理到执行双面文字。 书目为框架设计了环境,并实施了一套可操作的++方案。
打算使用的是,将假装作为监督C++进程的一种服务,如果C++工艺的出走,则将双管开动。
如果我从指挥线(<>条码/proc_watchdog.py)开始使用纸面文字,那么“滚动”就会继续运行。
如果我随后使用系统格式(系统开字典>)执行字典。 服务代码>,C++方案退出。
履历:
[Unit]
Description=RustDedicated watchdog service
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=scriptuser
ExecStart=/path/to/C++_Prog_Dir/proc_watchdog.py
[Install]
WantedBy=multi-user.target
The python script:
#!/usr/bin/python3
import subprocess as sp
import os
import psutil
import time
backgroundProc = "Procname"
def processWatchdog():
waitCount = 0;
while True:
procList = []
for proc in psutil.process_iter():
procList.append(proc.as_dict(attrs=[ name ]))
found = 0
for pname in procList:
if backgroundProc == pname[ name ]:
print("Process running")
found = 1
if found == 0:
print("Process not found...")
waitCount += 1
if waitCount == 3:
p = sp.Popen(["/path/to/C++_Prog_Dir/start.sh"])
print("Restarting")
p.wait()
waitCount = 0
print("Restarted")
time.sleep(2)
if __name__ == __main__ :
processWatchdog()
Bash 写法:
#!/bin/bash
./c++_process &>> /dev/null &
exit 0
谁能帮助我理解,为什么要用哪一种方式来对待假装?