程序是一个包含可执行代码的文件,它放在磁盘等介质上。 当程序被操作系统调用到内存并分配给它一定的资源后,此时可称为进程。
程序是静态概念,进程是动态概念。
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 | 查看被挂起的进程 |