第一种方式,借助 nohup 和 & 配合使用。
在命令后面加上 & 符号, 可以让启动的进程转到后台运行,而不占用控制台,控制台还可以再运行其他命令,这里我使用一个while死循环来做演示,代码如下
<?php while(true){ echo time().PHP_EOL; sleep(3);
用 & 方式来启动该进程
[[email protected] php]# php deadloop.php & [1] 3454 [[email protected] php]# ps aux | grep 3454 root 3454 0.0 0.8 284544 8452 pts/0 T 18:06 0:00 php deadloop.php root 3456 0.0 0.0 103316 896 pts/0 S+ 18:08 0:00 grep 3454 [1]+ Stopped php deadloop.php [[email protected] php]#
可以看到该进程并未占用控制台,控制台还可以运行其他命令,这时我们还可以通过 fg 命令让进程恢复到普通占用控制台的模式。
[[email protected] php]# fg php deadloop.php 1470996682 1470996685 1470996688 1470996691
原文:
https://blog.csdn.net/zhang197093/article/details/52226349