一般来说,很多人在Linux终端上执行命令是简单地运行它,并灯带它执行完成正常退出,退出后可以连续执行其他命令,这也是我们常说的在前台运行命令,但部分命令执行时间过长,无法执行其他命令,容易浪费时间,还降低工作效率,那有没有方法可以让命令挂在后台上执行,再在前台上并发执行其他命令,缩短时间。
进阶学习Linux,成为一流工程师
来>>《Linux高级驱动开发实战》
下面就来看一看Linux命令如何在后台执行,感兴趣的小伙伴记得给我点赞评论哦。
1、&符号
若要在后台运行命令或脚本,可在末尾使用&符号将其终止,具体如下:
# ping www.baidu.com &
注意:改符号不会将命令与您分立,它只是将其发送到您正在使用的当前会话shell后台,该命令仍会持续输出将输出打印到STDOUT或STDERR,但它也会阻止你在终端上执行其他命令。
2、重定向/dev/null
若要在后台运行命令或脚本,将要执行的命令或脚本重定向/dev/null,最后加上&符号,具体如下:
# ping www.baidu.com &>/dev/null &
3、nohup命令
若要在后台运行命令或脚本,可使用nohup命令,即使推出shell后也能让进程运行。它通过阻止进程接收SIGHUP(信号挂起)信号来实现这一点,该信号通常在进程退出终端时发送到进程,具体如下:
# nohop ping www.baidu.com &>/dev/null &
以上三个命令是可以让后台运行进程的命令,不过后台运行命令建议选择第三个也就是nohop命令,他可以说是前两个基础之上的增强。
除此之外,若是想查看后台执行的进程ID,可采用jobs命令。
# jobs -l
若是想结束/终止后台运行的进程,可采用kill命令。
# kill -9 进程ID
欲了解更多的Linux知识,可关注凡亿课堂。
暂无评论