后台运行进程:& 和 nohup命令
运行耗时任务时,需要后台运行一些耗时进程;
默认情况下,用户创建的进程都是前台进程;
前台进程从键盘读取数据,并把处理结果输出到显示器;
后台进程与键盘没有必然关系;后台进程也可能会等到键盘输入;
后台进程的优点时不必等待程序运行结束;就可以输入其他命令;
&符号:在后台运行进程
让一个进程在后台运行有几种方法;
1、在运行的命令最后加上&这个符号:cp file.txt file-copy.txt &
2、sudo find / -name "*log" &
以root身份在根目录下去查找以log结尾的文件名的文件;
==============================================================
nohup命令 : 使得进程与终端分离
当用户注销或者断开网络时,终端会收到HUP;
hangup的缩写,挂断的意思;信号从而关闭其所有子进程;
终端被关闭时也会关闭其子进程;
nohup表示不受hangup影响;输出会放到非tty中;
还有一种nohup加&的用法:
转入后台,而且nohup,就更加方便,不用担心终端关闭会影响;
===================================================================
ctrl+z jobs bg和fg命令
控制进程的前后台切换
ctrl+z 转到后台,并暂停运行
假如命令在后台,并暂停运行
使用bg命令,使进程转到后台
进程转入后台之后,会显示它在当前终端下的后台进程编号
bg%2就是作用于编号为2的后台进程;如果不加参数的话,会默认作用于
为什么要先ctrl+Z再bg:因为如果不先用Ctrl+Z将此进程暂停,此进程就一直在前台运行,没办法再命令提示符后面输入;
常见进程的状态:
R 运行中;
S 中断 受阻 sleeping;
D 不可中断,进程不响应系统异步信号,使用kill命令也不能使其中断;
Z 僵死,进程已经终止,但是进程描述符依然存在。表示僵死;
T 停止运行;
====================================================
jobs命令:显示当前终端中的后台进程状态
fg命令:使进程转到前台