1. “Nohup”(加拿大俚语,全称为“no hang up”)是Linux系统下的一个命令,可以帮助用户运行一个长时间的后台脚本任务。
2. “nohup”命令的使用方法是,先在终端中输入“nohup”,这样就不会因为终端断开而中断脚本任务的运行。即使关闭终端,仍然不会影响后台任务的进行。
3. “nohup”命令的一个关键功能是,可以在断开链接、重新登录系统或者计算机故障等异常情况发生时,保持后台任务的运行,无需重复执行。
4. 在执行“nohup”命令时,可以添加额外的参数来控制锁屏时间和日志输出等功能。同时,如果运行的后台任务需要额外的参数作为输入,也可以在“nohup”命令中添加参数,从而完成任务的设置。
5. 由于“nohup”是在Linux系统中常见的命令,并且能够有效帮助用户保证后台任务的运行,所以得到了广泛的应用,并被安全研究人员等使用,例如:监控网络和系统、创建后台定时任务和完成进程分析等。
一、Nohup介绍
(一)Nohup是一个专有名词,指的是“no hangup”的缩写,全称为“no hangup”(不挂起),是一个linux系统上常用的一个命令,用来告诉操作系统忽略Hangup 信号, 即使在用户终端掉线的时候也可以继续执行指令。
(二)Nohup就像一个shell变量,显示程序运行的环境的一个变量,指向一个特殊的文件,当程序在一台电脑上正常运行,然后网络掉线,程序还在继续运行,而且会把输出信息发送到这个文件里,像收件箱里一样收信息。
(三)Nohup是一种普遍通用的后台执行命令,可以用来在终端掉线或者shell终止后仍继续运行的程序,它可以让程序在不影响到当前shell的情况下背景运行,而不会受到终端断开的影响。
二、Nohup的用法
(一)使用nohup启动程序命令格式:nohup command &。举例:nohup command1 &
(二)使用nohup运行Shell文件:nohup sh Filename & 举例:nohup sh myscript.sh &
(三)查看 nohup 运行的进程:ps -ef | grep nohup
(四)终止 nohup 运行的程序:kill -9 PID
三、Nohup更多特性
(一)Nohup默认会从标准输出(stdout)和标准错误输出(stderr)重定向到一个以nohup.out为文件名的文件中,如果需要重定向除nohup.out以外的其他文件,将文件名加到末尾可完成重定向,例如:nohup command &>test.out。
(二)Nohup可以支持参数,nohup就和普通命令一样,可以加上参数,例如nohup command1 -arg1 -arg2 &。