程序是一个包含可执行代码的文件,它放在磁盘等介质上。 当程序被操作系统调用到内存并分配给它一定的资源后,此时可称为进程。
程序是静态概念,进程是动态概念。
Linux的进程状态如下图
ps | |
---|---|
功能描述 | ps命令是用来显示系统瞬间的进程信息,它可以显示出来用户输入ps命令时系统的进程及进程的相关信息 |
语法 | ps 【参数】 |
-l | 长格式输出 |
-u | 按用户名和启动时间的顺序来显示进程 |
-j | 用任务格式来显示进程 |
-f | 用树形格式来显示进程 |
-a | 显示所有用户的进程(包括其它用户) |
-x | 显示无控制终端的进程 |
-r | 显示运行中的进程 |
top | |
---|---|
功能描述 | 动态监视系统任务的工具,输出结果是连续的 |
语法 | top【参数】 |
-b | 以批量模式运行,但不能接受命令行输入 |
-c | 显示命令行,而不仅仅是命令名 |
-d N | 显示两次刷新时间的间隔,比如 -d 5,表示两次刷新间隔5秒 |
-i | 禁止显示空闲进程或僵尸进程 |
-n NUM | 显示更新次数,然后退出。比如top 5,表示更新5次数据就退出 |
-p PID | 仅监视指定进程的ID,PID是一个数值 |
-q | 不仅任何延时就刷新 |
-s | 安全模式运行,禁止一些交互指令 |
-S | 积累模式,输出每个进程的总的CPU时间 |
按下U键 | 输入用户名,查看用户进程 |
按下K键 | 输入PID,删除进程 |
kill | |
---|---|
功能描述 | 向某个进程(通过PID标识)传送一个信号,它通常与ps和jobs命令一起使用 |
语法 | kill 【-参数】PID |
1:SIGHUP | 启动被终止的进程 |
2:SIGINT | 相当于输入ctrl+c,中断一个程序的运行 |
9:SIGKILL | 强制中断一个进程的进行 |
15:SIGTERM | 以正常的结束进程方式来终止进程 |
17:SIGSTOP | 相当于输入ctrl+z,暂停一个进程的进行 |
killalll | |
---|---|
功能描述 | 使用进程的名称来杀死进程,使用此指令可以杀死一组同名进程 |
语法 | killall【参数】【正在运行的进程名】 |
-e | 对长名称进行精准匹配 |
-I | 忽略大小写的不同 |
-p | 杀死进程所属的进程组 |
-i | 交互式杀死进程,杀死进程前需要确认 |
-l | 打印所有已知信息列表 |
-q | 如果没有进程被杀死,则不输出任何信息 |
-r | 使用正则表达式匹配要杀死的进程名称 |
-s | 用指定的进程号代替默认信息“SIGTERM” |
-u | 杀死指定用户的进程 |
nice | |
---|---|
功能描述 | 允许在默认优先级的基础上进行增大或减小的方式来运行命令 |
语法 | nice【参数】【命令名】 |
-n NUM | 指定程序运行优先级的调整值为NUM |
范围 | 优先级的调整范围为-20—19,其中数值越小优先级越高,数值越大优先级越低 |
如果没有参数 | 若nice命令未指定优先级的调整值,则以缺省值10来调整程序运行优先级,即在命令通常运行优先级基础上增加10 |
renice | |
---|---|
功能描述 | 改变一个正在运行的进程的nice值 |
语法 | renice【参数】【pid】 |
-n | 指定程序运行优先级的调整值,例:renice -5 777 |
& | |
---|---|
功能描述 | 将某个进程工作放到后台运行 |
例子 | cp -r /usr/* test &是将/usr目录下的所有子目录及文件复制到/root/test目录下的工作放到后台运行 |
进程的挂起和恢复 | |
---|---|
Ctrl+Z | 将进程挂起 |
Ctrl+C | 将进程终止 |
fg | 恢复到前台继续运行 |
bg | 恢复到后台继续运行 |
jobs | 查看被挂起的进程 |