详解linux后台、前台运行进程

程序运行可以有2种
前台运行
程序运行在当前的终端,所有的信息都输出到屏幕上,占用你的终端,你也无法继续使用
如果终端异常关闭,导致程序会自动退出
后台运行
不会占用你的终端,程序在系统后台跑着,你该干啥干啥,终端关了,程序也继续运行。

后台运行命令
命令集合

command &    # 未启动的command放入后台去运行
jobs                # 查看后台进程列表
ctrl + z         # 暂停进程
bg                  # 程序放入后台运行,和 & 一样
fg                    # 将后台任务放入前台执行

后台命令实战(实战经验)

1.命令直接放入后台运行,注意日志写入到黑洞文件

[root@master10 ~]# ping www.jd.com > /dev/null &
[1] 3694
[root@master10 ~]#

2.查看后台任务列表

[root@master10 ~]# jobs
[1]+  Running                 ping www.jd.com > /dev/null &


3.可以将后台任务,放入前台执行,然后ctrl + z 再次暂停程序,放入后台
[root@master10 ~]# fg 1
ping www.jd.com > /dev/null

^Z
[1]+  Stopped                 ping www.jd.com > /dev/null
[root@master10 ~]# 
的确发现了一个停止的程序
[root@master10 ~]# jobs
[1]+  Stopped                 ping www.jd.com > /dev/null
[root@master10 ~]# 



4.可以再次让程序运行起来,并且依然是运行在后台
[root@master10 ~]# bg 1
[1]+ ping www.jd.com > /dev/null &
[root@master10 ~]# jobs
[1]+  Running                 ping www.jd.com > /dev/null &
[root@master10 ~]# 


nohup命令
直接使用&符号让命令在后台运行有一个风险,当前bash会话异常断开后,后台运行的命令也随之消失。
但利用 nohup结合&符号使用可以避免这一风险。

posted @ 2024-08-10 15:02  先ping  阅读(138)  评论(0编辑  收藏  举报