nohup -> 最小化
& -> 放到后台
nohup 是 no hang up 的缩写,就是不挂断的意思,但没有后台运行,终端不能标准输入,所以说添加 & ( 表示“and”的符号)到命令的尾部。
1.在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中
nohup java -jar shop-admin-s.jar &
2.将标准错误输出重定向到标准输出到当前目录下叫log的文件
// 标准错误输出和标准输出都定向到log中
nohup java -jar shop-admin-s.jar >log 2>&1 &
// 简写
nohup java -jar shop-admin-s.jar &>log &
注意不能写反 >log 一定要写在前面 : 意思是1指向log文件,2 指向1,所以2也指向log满足输出到log
如果是错误写法,则为2指向1,又因为1默认指向屏幕 ,所以2指向屏幕,然后 >log 造成1重新指向log
以下命令在后台执行 root 目录下的 runoob.sh 脚本,并重定向输入到 runoob.log 文件:
nohup /root/runoob.sh > runoob.log 2>&1 &
2>&1 解释:
将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 runoob.log 文件中。
0 – stdin (standard input,标准输入)
1 – stdout (standard output,标准输出)
2 – stderr (standard error,标准错误输出)
3.什么信息也不要
nohup java -jar shop-admin-s.jar >/dev/null 2>&1 &
4 .只输出错误信息
nohup java -jar shop-admin-s.jar >/dev/null 2>log &
关于/dev/null文件
Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪。这一点非常有用,当我们不需要回显程序的所有信息时,就可以将输出重定向到/dev/null。
// 实时查看
tail -f nohup.out
// 查看最后1000行日志文本
tail -1000 nohup.out
运行的进程默认在终端前台运行,一旦关闭终端,进程随着结束,此时希望进程在后台运行不退出,这样关闭终端也不影响进程的正常运行
nohup sleep 600 & (放到后台 ,关闭xshell 就会关闭程序, )
nohup ping www.baidu.com & (让程序直接在后台运行)
su - kibana -c " nohup /opt/kibana-7.17.5-linux-x86_64/bin/kibana & "
sh /mnt/data/zzy/scripts/monitor_nginx.sh >>/mnt/data/logs/monitor/nginxstatus.log 2>&1
nohup在运行过程中会在当前的目录生成一个nohup.out的临时文件
screen 相当于 外接屏幕, nohub 相当于 最小化 。 & 会
如何把程序放在后台
j把进程放入后台运行 使用 &
sleep 3000 &
#把进程挂起放在后台
sleep 4000
# jobs 显示在后台运行的程序
# 让作业2在后台运行
bg %2
将作业1掉回到前台运行
fg %1
# 终止后台PID为2的进程
kill %2
& 后台运行
nohup
正常情况下,如果用户退出登录或会话终止,则用户正在执行并可持续一段时间的命令(非守护进程)将自动终止。
使用nohup命令可以实现在用户退出或当前会话终止后继续保持运行,:
nohup ping www.baimeidashu.com
此时强制关闭当前终端, 该命令依然会在后台运行。
ps -ef | grep ping
在工作中我们一般会 配合 & 符 运行 nohup 命令,让程序直接在后台运行。
nohup ping www.baimeidashu.com &
nohup在运行过程中会在当前的目录生成一个nohup.out的临时文件
screen的使用 常用
1)安装
yum –y install screen
2) 使用方法
# screen 指定一个任务名称后进入到一个新bash中
欢迎来撩 : 汇总all