控制进程(二)

 

控制进程


1. 启动进行并后台运行 


进程可以分为前台运行和后台运行两种,前台运行需要等待运行完成后才可以运行下一个命令,后台运行的话,可以直接运行下一个命令。

如何让进程在后台运行:在命令后面添加“&”,有空格 

例如:现在要复制一个软件包到一个目录下,但是由于软件包很大,所以,为了不影响对之后操作受影响,我们就可以把次任务放到后台去执行,提高工作效率


[root@localhost ~]# mount /dev/sr0 /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        20G  4.0G   17G   20% /
devtmpfs                devtmpfs  473M     0  473M    0% /dev
tmpfs                   tmpfs     489M     0  489M    0% /dev/shm
tmpfs                   tmpfs     489M  7.2M  481M    2% /run
tmpfs                   tmpfs     489M     0  489M    0% /sys/fs/cgroup
/dev/sda1               xfs       6.0G  161M  5.9G    3% /boot
/dev/mapper/centos-home xfs        10G   37M   10G    1% /home
tmpfs                   tmpfs      98M  4.0K   98M    1% /run/user/42
tmpfs                   tmpfs      98M   24K   98M    1% /run/user/0
/dev/sr0                iso9660   4.3G  4.3G     0  100% /mnt
[root@localhost ~]# ls /mnt/
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
[root@localhost ~]# cp -r /mnt/Packages/ /opt/ &      //加&符号放到后台执行
[1] 4568                 //后台进程序列号以及PID号

2. 挂起当前的进程(调入后台并停止执行) 


Ctrl+z 
当进程正在运行的时候按Ctrl+z键可以停止执行服务并调用到后台

[root@localhost opt]# cp -r /mnt/Packages/ /opt/
^Z
[1]+  已停止               cp -i -r /mnt/Packages/ /opt/
[root@localhost opt]# jobs -l
[1]+ 21278 停止                  cp -i -r /mnt/Packages/ /opt/

3. 查看后台的进程 


jobs -l 查看后台隐藏进程

[root@localhost ~]# jobs -l
[1]+  4568 完成                  cp -i -r /mnt/Packages/ /opt/

4. 恢复后台运行进程 
 

fg [进程编号](ForeGround,前台),fg命令才能把后台运行的进程转义到前台来 

[root@localhost opt]# fg 1
cp -i -r /mnt/Packages/ /opt/

当ctrl+c 无法终止运行的进程,或者需要结束其他终端上运行的进程的时候,就要用到kill,killall,pkill*

5. 使用KILL终止进程运行


使用kill命令前,要使用进程的PID号作为参数 
pgrep -l “ping” 
kill 1 
如果进程无反应,则需要用 -9 参数强杀,越塔强杀后进程的数据会丢失,所以不到万不得已别强杀 
kill [-9] [进程UID]

[root@localhost opt]# kill -9 38717
[root@localhost opt]# jobs -l
[1]- 38715 停止                  cp -i -r /mnt/Packages/ /opt/
[2]+ 38717 已杀死               cp -i -r /mnt/Packages/ /opt/

6. killall(范围伤害) 


killall 可以通过用户名杀掉进程,例如同时开了好几个vim进程 
killall vim 
killall 也有强杀 
killall -9 vim

[root@localhost ~]# vim test01.txt &
[2] 38795
[root@localhost ~]# jobs -l
[2]+ 38795 停止 (tty 输出)     vim test01.txt
[root@localhost ~]# vim test02.txt &
[3] 38811
[root@localhost ~]# jobs -l
[2]- 38795 停止 (tty 输出)     vim test01.txt
[3]+ 38811 停止 (tty 输出)     vim test02.txt
[root@localhost ~]# killall -9 vim
[2]-  已杀死               vim test01.txt
[3]+  已杀死               vim test02.txt
[root@localhost ~]# jobs -l
[root@localhost ~]# 

7. pkill 杀掉指定的进程(直线伤害)
格式:pkill [参数] [用户/终端号] 
参数:-U 指定用户 
-t 指定终端 
-9 强杀 
例子:pkill -9 -U ‘shan’

[root@localhost ~]# pkill -9 -U shan


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值