怎样自动打开终端并继续执行脚本命令
答案:2 悬赏:10 手机版
解决时间 2021-02-10 19:17
- 提问者网友:且恨且铭记
- 2021-02-10 14:21
怎样自动打开终端并继续执行脚本命令
最佳答案
- 五星知识达人网友:话散在刀尖上
- 2021-02-10 15:55
加& 是不行的。
因为不管是后台还是前台,都是terminal 的子进程。terminal一关,父进程在推出前,会杀掉所有的子进程。
Linux 里有一些工具,可以脱钩父子进程。比如screen,ubuntu/debian用apt安装。
apt-get install screen
用法:在terminal里打
screen然后运行你的程序。
再按
ctrl +a, ctrl +d.
就脱钩了。可以关terminal了。
想挂钩,用
screen -r如果有多个脱钩进程,比如
There are several suitable screens on:8881.pts-0.Jordan(Detached)8494.pts-0.Jordan(Detached)用
screen -r [pid]比如
screen -r 8881
因为不管是后台还是前台,都是terminal 的子进程。terminal一关,父进程在推出前,会杀掉所有的子进程。
Linux 里有一些工具,可以脱钩父子进程。比如screen,ubuntu/debian用apt安装。
apt-get install screen
用法:在terminal里打
screen然后运行你的程序。
再按
ctrl +a, ctrl +d.
就脱钩了。可以关terminal了。
想挂钩,用
screen -r如果有多个脱钩进程,比如
There are several suitable screens on:8881.pts-0.Jordan(Detached)8494.pts-0.Jordan(Detached)用
screen -r [pid]比如
screen -r 8881
全部回答
- 1楼网友:鸠书
- 2021-02-10 16:46
在linux的shell终端中执行一个命令时是不能关掉终端的,否则程序也会终止。
但是有些耗时比较长的命令是无法保证一直开着终端的,费电就不说了,毕竟网络还有不稳定的时候,一掉线程序也关掉了。
解决方法是nohup命令,在程序的前面加上nohup,程序的后面加上&,这样程序就会一直执行直到结束。
比如:nohup php spider.php &
回车,然后提示一堆东西,再次回车,回到shell界面。
这就可以了。
还有一个问题:程序在执行中会输出一些信息,如果后台执行的话,这些信息是不是没法看了?(比如:程序执行出错终端,想看看报错信息之类的)。使用了nohup命令后,会在当前目录下生成一个nohup.out的日志文件,记录的就是命令的输出。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯