控制进程
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