![](/img/trans.png)
[英]bash how to kill parent process, or exit from parent process from a function in bash module script
[英]Exit from bash script but keep the process running
我正在运行服务器,需要执行以下带有参数的命令。 脚本目前运行良好,但问题是当我运行脚本时,我无法返回控制台。 它一直在控制台中运行。 如果我强行停止它,则该过程也将停止。
我想继续运行该过程并返回到控制台。
#!/bin/sh
php /home/stjc/app/artisan queue:listen --timeout=60 --tries=5
谢谢
在后台运行该过程:
#!/bin/sh
(php /home/stjc/app/artisan queue:listen --timeout=60 --tries=5) &
尝试在原始命令的两边都在结尾加上一个&符( &
)。
编辑:
:
是一个内置的shell,这意味着NOP取决于您的操作系统,可能会出现问题,请尝试在php命令中转义它,然后查看它是否对您有用
#!/bin/sh
(php /home/stjc/app/artisan queue\:listen --timeout=60 --tries=5) &
强烈建议您将完整路径放入您的php
解释器。
只需在命令后追加&
之后,shell就会在后端运行作业。它将返回以下内容:[1]3633。 [1]
表示Shell作业ID, 3633
表示OS进程ID。 如果要停止任务,只需键入kill 3633
。
#!/bin/sh
php /home/stjc/app/artisan queue:listen --timeout=60 --tries=5 &
还有一个选项可以在后台发送进程,如下所述:
您希望运行的运行脚本或命令:例如
girishp@~$ ping 10.137.108.192
PING 10.137.108.192 (10.137.108.192) 56(84) bytes of data.
64 bytes from 10.137.108.192: icmp_seq=1 ttl=64 time=7.18 ms
64 bytes from 10.137.108.192: icmp_seq=2 ttl=64 time=0.367 ms
在运行命令时按Ctrl + Z,它将停止运行
^Z
[1]+ Stopped ping 10.137.108.192
在终端中键入bg
以在后台恢复执行
girishp@~$ bg
[1]+ ping 10.137.108.192 &
girishp@~$ 64 bytes from 10.137.108.192: icmp_seq=5 ttl=64 time=5.46 ms
64 bytes from 10.137.108.192: icmp_seq=6 ttl=64 time=4.56 ms
您可以通过在终端中输入fg
再次在前台运行它:
girishp@~$fg
ping 10.137.108.192
64 bytes from 10.137.108.192: icmp_seq=22 ttl=64 time=0.397 ms
64 bytes from 10.137.108.192: icmp_seq=23 ttl=64 time=3.99 ms
(...)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.