Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.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_Process - Fatal编程技术网

在单独的进程中运行python

在单独的进程中运行python,python,process,Python,Process,我正在寻找一个快速的bash脚本或程序,它允许我在一个单独的过程中启动一个python脚本。最好的方法是什么?我知道这非常简单,只是好奇是否有更好的方法来做这件事。你的行话都很混乱。但是在bash中,您可以通过附加&,在后台运行进程: print foo.py & 最好的方法是使用python!看一看这张照片 下面是上面链接中的一个简单示例: from multiprocessing import Process def f(name): print 'hello', nam

我正在寻找一个快速的bash脚本或程序,它允许我在一个单独的过程中启动一个python脚本。最好的方法是什么?我知道这非常简单,只是好奇是否有更好的方法来做这件事。

你的行话都很混乱。但是在bash中,您可以通过附加
&
,在后台运行进程:

print foo.py &

最好的方法是使用python!看一看这张照片

下面是上面链接中的一个简单示例:

from multiprocessing import Process

def f(name):
    print 'hello', name

if __name__ == '__main__':
    p = Process(target=f, args=('bob',))
    p.start()
    p.join()

bash
并不是真正的线程——它可以很好地处理进程,不过:

python whatever.py &
结尾处的
&
仅仅意味着“不要等待子进程结束”-bash将在一个单独的进程中执行命令本身,不管怎样,它只是正常地等待这个单独的进程终止(从远古以来,所有Unix shell都是这样工作的)。

只需使用符号(&)以便在后台启动Python进程。Python已经在与BASH脚本不同的单独进程中执行,因此说“在单独的线程中”运行它没有多大意义——我假设您只是希望它在后台运行:

#! /bin/bash
python path/to/python/program.py &
请注意,上述操作可能会导致文本打印到控制台。您可以通过使用重定向将stdout和stderr重定向到一个文件来解决这个问题。例如:

#! /bin/bash
python path/to/python/program.py > results.txt 2> errors.log &

看来你的意思是“过程”。请更新您的问题。当您说“stdin”时,我想您的意思是“stderr”,它应该是
2>错误。log
(在“2”之后没有符号)。耶,这是我所期望的。谢谢