我有一个名为update.py的python脚本,并且我想使用另一个python脚本来检查该脚本是否正在运行。如果update.py没有运行或出错,则脚本将运行update.py。
我可以这样做吗?如果有一个例子,将非常感激。
答案 0 :(得分:0)
脚本通常用于此类任务。您有一个监视脚本,该脚本跟踪在后台运行的update.py。如果监视脚本在开始时启动python脚本,将变得更加容易。
#!/bin/bash
# Monitor script.
EXEC=<path>/update.py
while true; do
"$EXEC" &
wait # Here the assumption is that you want to run this forever.
done
答案 1 :(得分:0)
不确定您要问的是什么,但是鉴于此可能有所帮助,因此,如果您只想从另一个调用一个python脚本,则可以使用脚本1
IntPtr token = IntPtr.Zero;
bool success = LogonUser("username", "domainname", "password",
2, 0, ref token);
if (success)
{
using (WindowsImpersonationContext person = new WindowsIdentity(token).Impersonate())
{
File.Copy(sourceFileName,destFileName);
person.Undo();
CloseHandle(token);
}
}
将此文件保存在名为script1的脚本中并运行它,它将编译update.py。 如果要检查update.py中是否存在语法错误,则可以使用脚本2
#!/usr/bin/python
from subprocess import call
call(["python", "update.py"])
如果script2编译时没有任何错误,则表明程序中没有语法错误。
再次,如果要检查update.py是否正在运行,可以使用脚本3
#!/usr/bin/python
from subprocess import call
call(["python","-m","py_compile", "update.py"])
最后一个脚本将告诉您脚本是否正在运行,如果未运行,则会对其进行编译。