使用python创建在后台运行的进程

使用python创建在后台运行的进程,python,process,Python,Process,我想写一个在后台运行的python程序。 我的意思是,就像我们安装Python包一样。稍后,我们可以在脚本名称前面使用python运行任何脚本。这意味着一些python进程正在后台运行,可以获取输入并执行操作 对于linux,您可以在任何地方调用grep。这意味着grep也在后台运行 我想用python编写类似的东西。当我在任何时候用名称和参数调用某个函数时,它应该执行预期的操作,而不必考虑原始代码。但我无法找到如何做到这一点 有人能帮我吗 提前感谢。澄清:您只需键入它们的名称就可以在控制台中运

我想写一个在后台运行的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也在后台运行。事实上,它只是意味着它位于您的
路径上,并且是可执行的。在你的情况下,你想调查。谢谢你的信息。