Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 进程不在后台运行_Python - Fatal编程技术网

Python 进程不在后台运行

Python 进程不在后台运行,python,Python,我正在运行下面显示的python脚本。该脚本对远程计算机执行ssh,并在后台运行c程序。但在运行python脚本时,我得到以下输出: 这意味着a.out已运行,pid为[1]2115。 但是,当我登录到远程机器并通过“ps”命令检查a.out时,我没有看到它。 另一个观察结果是,当我在python脚本thread.sleep(20)中添加delay语句时,当脚本仍在运行时, 如果我签入远程机器,a.out处于活动状态 #!/usr/bin/python impor

我正在运行下面显示的python脚本。该脚本对远程计算机执行ssh,并在后台运行c程序。但在运行python脚本时,我得到以下输出:

这意味着a.out已运行,pid为[1]2115。 但是,当我登录到远程机器并通过“ps”命令检查a.out时,我没有看到它。 另一个观察结果是,当我在python脚本thread.sleep(20)中添加delay语句时,当脚本仍在运行时, 如果我签入远程机器,a.out处于活动状态

    #!/usr/bin/python
            import HostMod   #where ssh function is wrote
            COMMAND_PROMPT1 = '[#$] ' 
            p = HostMod.HostModule()
            obj1=p.HostLogin('10.200.2.197', 'root', 'newnet') #ssh connection to remote system
            obj1.sendline ('./a.out > test.txt &') #sending program to remote machine to executethere
            obj1.expect (COMMAND_PROMPT1)
            print obj1.before
            #a.out program 
            int main()
            {
                    while(1)
                    {
                            sleep(10);
                    }

                    return 0;
            }

请尝试给出./a.out的绝对路径

尝试使用
nohup

...
obj1.sendline ('nohup ./a.out > test.txt &') #sending program to remote machine to executethere
但实际上,您不应该使用shell通过ssh调用命令。ssh协议内置了对运行命令的支持。我不确定您的HostMod模块是如何工作的,但您可以从shell中尝试这一点(很容易移植到使用
子流程
):

ssh somehost nohup sleep 20
ssh主机
ps ax |格雷普睡眠

您应该看到您的
sleep
进程仍在运行。此方法不会实例化shell,这更可靠,因为您可以控制运行哪个shell,也可以不控制运行哪个shell,
~/.(…)rc
文件中的内容,等等。总之,更具可移植性。

我提供了绝对路径,然后它的预期输出也没有出现为什么不使用类似于ssh的结构?非常感谢我得到了我需要的输出
ssh somehost nohup sleep 20
<Ctrl+C>

ssh somehost
ps ax | grep sleep