&安培;在bash命令之后

时间:2012-08-03 13:33:18

标签: python linux bash shell

我不确定此bash脚本中的命令后&是做什么的。

    python alt_pg ${args} &

我正在修改的脚本的原始版本在命令开头没有使用'python',这与'&'有什么关系?

3 个答案:

答案 0 :(得分:7)

该行末尾的

&在你的linux shell下的“background”中运行python alt_pg ${args};但是,脚本仍与shell关联。因此,如果shell停止,脚本也会停止。

附注:您可以使用nohup python alt_pg ${args} &取消脚本与shell的关联。如果您生成这样的脚本,则在退出shell后脚本会一直存在。

答案 1 :(得分:3)

&符号在分叉/后台进程中运行该进程。

答案 2 :(得分:3)

不,它们是两个不同的东西。

运行python alt_pg ...表示python将查找$PATHalt_pg ...将作为参数传递给python。然后Python查找名为alt_pg的文件。运行alt_pg ...表示alt_pg将会查找$PATH。后者可能会导致python无论如何运行,具体取决于alt_pg的作用。

在命令后添加&表示命令在后台运行,即使alt_pg仍在运行,shell也可以继续执行命令。