在Linux系统上运行的所有东西都可以称之为一个进程。例如,一个简单的helloworld程序,在终端上输入ls命令等等。
一个正常运行的进程称之为作业,一个作业可以启动多个进程,例如作业ls -lrt | grep *.txt就启动了两个进程。
进程和作业相关的命令主要有:kill、disown、wait、fg、bg、jobs
fg、bg、jobs只接受作业号为参数。
kill、disown、wait即可接受作业号为参数,又可接受进程号为参数。
jobs 命令显示了当前 shell 环境中已启动的作业状态。
kill命令可以用来终止一个进程
[alex@cgdp alex]$ sleep 100&
[1] 6273
[alex@cgdp alex]$ ps
PID TTY TIME CMD
6230 pts/0 00:00:00 bash
6273 pts/0 00:00:00 sleep (待删除的进程)
6274 pts/0 00:00:00 ps
[alex@cgdp alex]$ kill -9 6273
[alex@cgdp alex]$ ps
PID TTY TIME CMD
6230 pts/0 00:00:00 bash
6275 pts/0 00:00:00 ps
[1]+ Killed sleep 100 (进程已被删除)
disown命令可以用来删除作业
[alex@cgdp alex]$ ls -l | sleep 200&
[1] 6326
[alex@cgdp alex]$ jobs
[1]+ Running ls --color=tty -l | sleep 200 &
[alex@cgdp alex]$ disown %1
[alex@cgdp alex]$ jobs
[alex@cgdp alex]$
fg命令把后台运行的作业放到前台运行,bg重启一个挂起的作业。
可以用 CTRL+z 将当前进程挂起到后台暂停运行,执行一些别的操作,然后再用 fg 来将挂起的进程重新放回前台(也
可用 bg 来将挂起的进程放在后台)继续运行。
wait命令停止脚本的运行,直到后台运行的所有作业都结束为止,或者直到指定作业号或进程号为选项的作业结束为止.可
以使用wait 命令来防止在后台作业没完成(这会产生一个孤儿进程)之前退出脚本.
例如:
写一个简单的脚本test
#!/bin/sh
ls -l&
echo "done"
运行:
[alex@cgdp shell]$ ./test
done
[alex@cgdp shell]$ total 4
-rwxrwxr-x 1 alex alex 30 May 5 21:15 test
使用wait命令重写脚本test
#!/bin/sh
ls -l&
wait
echo "done"
运行:
[alex@cgdp shell]$ ./test
total 4
-rwxrwxr-x 1 alex alex 35 May 5 21:19 test
done
关键词标签:Linux进程
相关阅读
热门文章
安装红帽子RedHat Linux9.0操作系统教程
Tomcat9.0如何安装_Tomcat9.0环境变量配置方法
多种操作系统NTP客户端配置
Linux操作系统修改IP
人气排行 Linux下获取CPUID、硬盘序列号与MAC地址 dmidecode命令查看内存型号 linux tc实现ip流量限制 安装红帽子RedHat Linux9.0操作系统教程 linux下解压rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 关机、重启、注销 命令 查看linux服务器硬盘IO读写负载
查看所有0条评论>>