后台编译&运行命令

概述

在工作中,有时下班了,但是想执行拉取代码或者代码编译,这种事情比较耗时,点电脑需要关闭,那就不得不后台执行编译或者运行命令,常见的有nohup或者screen两种。

nohup

关闭终端时,会触发SIGHUP信号,通过nohup来忽略这个信号,通过"&"把命令放到后台执行,使用方式:

nohup <Command> [Arg] &

执行上述命令后,需要多敲一次回车键,让命令回到后台,可以通过jobs命令来查看当前放到后台的命令,fg将后台中的命令调至前台继续运行,bg将一个在后台暂停的命令,变成继续执行

如果后台有多个命令,可以用fg/bg %jobnumber将命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号。

此方法可用于关机时后台编译。

screen

Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。

使用方式:

直接在终端执行screen,会创建一个执行shell的全屏窗口,使用exit命令退出。使用方式:

screen -dmS <screen-name> <Command>

执行上述命令后,会创建一个状态为detached的screen会话,执行对应的Command,screen-name为这个会话的名字,也可以不用S参数,不指定会话名字。

只要不杀掉这个screen会话就可以一直在后台运行,可以使用screen -ls查看已创建的screen,使用screen -r <screen_pid>可以恢复,进入到这个screen会话。

此方法可用于关机时后台编译。

参考链接:https://blog.csdn.net/qq_28832135/article/details/79831700

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章