使用python创建在后台运行的进程
我想写一个在后台运行的python程序。 我的意思是,就像我们安装Python包一样。稍后,我们可以在脚本名称前面使用python运行任何脚本。这意味着一些python进程正在后台运行,可以获取输入并执行操作 对于linux,您可以在任何地方调用grep。这意味着grep也在后台运行 我想用python编写类似的东西。当我在任何时候用名称和参数调用某个函数时,它应该执行预期的操作,而不必考虑原始代码。但我无法找到如何做到这一点 有人能帮我吗使用python创建在后台运行的进程,python,process,Python,Process,我想写一个在后台运行的python程序。 我的意思是,就像我们安装Python包一样。稍后,我们可以在脚本名称前面使用python运行任何脚本。这意味着一些python进程正在后台运行,可以获取输入并执行操作 对于linux,您可以在任何地方调用grep。这意味着grep也在后台运行 我想用python编写类似的东西。当我在任何时候用名称和参数调用某个函数时,它应该执行预期的操作,而不必考虑原始代码。但我无法找到如何做到这一点 有人能帮我吗 提前感谢。澄清:您只需键入它们的名称就可以在控制台中运
提前感谢。澄清:您只需键入它们的名称就可以在控制台中运行
python
或grep
,这并不意味着它们在后台运行。这意味着在某个位置存在一个可执行文件,该位置列在环境变量PATH
中
例如,在我的系统上,我可以通过键入Python
来运行Python。python可执行文件安装在/usr/local/bin/python
,并且具有on的执行权限位
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
是的,/usr/local/bin
包含在路径中
您可以对python脚本执行相同的操作:
- 确保脚本的第一行包含
#/usr/bin/python
或#/usr/bin/env python
- 授予脚本执行权限:
chmod a+x yourScript
- 将脚本移动到
$PATH
中包含的目录之一,或将脚本所在的目录添加到PATH
:导出路径=$PATH:/home/you/scripts
看一看
您可以通过继承守护进程类并重写run方法来推出自己的守护进程
from daemon import Daemon
class run_daemon(Daemon):
def run(self):
import sys
run_daemon.execute_shell_command(sys.argv[1])
@staticmethod
def execute_shell_command(ShellCommand):
import subprocess
process = subprocess.Popen(ShellCommand, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
process.communicate()
不,您可以调用grep
并不意味着grep也在后台运行。事实上,它只是意味着它位于您的路径上,并且是可执行的。在你的情况下,你想调查。谢谢你的信息。