个人博客首页 (点击查看详情)-- https://blog.51cto.com/11495268 https://blog.51cto.com/11495268
1, 简介
系统进程 管理操作 是一项基本功, 本文 主要描述 如何 后台管理 进程服务 (相关命令 暂时不会 详解)
1.1 进程 (基本概念 不详细解释)
进程是程序在一个数据集合上的一次执行过程
1.2 进程查看 (查看命令 不详细解释)
ps,pstree -- 静态获取进程信息
top,htop -- 动态获取进程信息
2, 后台进程 创建
- 2.1 &
- ## 将任务放到后台 , 即使关闭 xshell 退出当前 session 依然继续运行, 但标准输出和标准错误信息会丢失
- # ./{
可执行程序
- } &
- 2.2 nohup
- ## 将任务放到后台, 关闭标准输入, 前台不再能够接收任何输入 (标准输入), 重定向标准输出和标准错误到当前目录下的 nohup.out 文件, 即使关闭 xshell 退出当前 session 依然继续运行
- # nohup ./{
可执行程序
- }> {
- out_file
- }
- 2.3 nohup ... &
- ## 将任务放到后台, 但是依然可以使用标准输入, 前台能够接收任何输入, 重定向标准输出和标准错误到当前目录下的 nohup.out 文件, 即使关闭 xshell 退出当前 session 依然继续运行
- # nohup ./{
可执行程序
- }> {
- out_file
- } 2>&1 &
- 2.4 ctrl-z( suspend foreground process )
发送 SIGTSTP 信号给前台进程组中的所有进程, 常用于挂起一个进程, 而并非结束进程, 用户可以使用使用 fg/bg 操作恢复执行前台或后台的进程; fg 命令在前台恢复执行被挂起的进程, 此时可以使用 ctrl-z 再次挂起该进程, bg 命令在后台恢复执行被挂起的进程, 而此时将无法使用 ctrl-z 再次挂起该进程
3, 后台进程 管理
3.1 后台进程 查看
- ## jobs 只能查询 当前 终端 后台任务
- ## 一列显示的为被放置后台 job 的编号
- ## 第二列的 + 表示最近 (刚刚, 最后) 被放置后台的 job
- ## - 表示倒数第二 (也就是在预设之前的一个) 被放置后台的工作
- ## 最后一列表示该进程执行的命令
- # jobs
- [1] Running nohup ./test.sh> wl_nohup1 2>&1 &
- [2] Running nohup ./test.sh> wl_nohup2 2>&1 &
- [3] Running nohup ./test.sh> wl_nohup3 2>&1 &
- [4] Running nohup ./test.sh> wl_nohup4 2>&1 &
- [5] Running nohup ./test.sh> wl_nohup5 2>&1 &
- [6]- Running nohup ./test.sh> wl_nohup6 2>&1 &
- [7]+ Stopped ./test.sh
3.2 后台进程 终端运行
- ## 将后台进程 放置 前端终端执行
- ## fg %{
- num
- }
- ## fg [%jobnumber]
- # fg %7
- ./test.sh
- ... ...
- ^Z
- [7]+ Stopped ./test.sh
4, 后台进程 运行
- ## 后台 继续 运行
- ## num 为 jobs 进程对应的 序列号
- ## bg [%jobnumber]
- # bg %{
- num
- }
5, 后台进程 关闭
- ## 关闭 进程
- ## kill -signal %{
- jobnumber
- }
- ## kill -9 %{
- num
- }
来源: http://www.bubuko.com/infodetail-3069448.html