linux nohup命令用法 linux在后台运行程序

发布时间:2019-10-20编辑:脚本学堂
本文介绍了linux下使用nohup命令实现后台运行程序的方法,程序在控制台logout后,进程仍然继续运行,起到守护进程的作用,需要的朋友参考下。

linux nohup命令用法

nohup <程序名> &
则控制台logout后,进程仍然继续运行,起到守护进程的作用(虽然它不是严格意义上的守护进程)。
使用nohup命令后,原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用,实现了完整的守护进程功能。

使用命令:
nohup startWeblogic.sh & (可以不写&)
如果想要监控标准输出可以使用:
tail -f nohup.out
 
Linux可以同时运行多个进程,在shell下直接输入命令后,shell将进程放到前台执行。
如果要将进程放到后台执行,需要在命令行的结尾加上一个 “&” 符号。

以下命令从后台执行,从ftp.isc.org下载文件。
$ fetch ftp://ftp.isc.org/pub/inn/inn-1.7.2.tar.gz &
当程序已经在前台执行时,可以使用^Z将这个程序挂起,暂停执行。(www.jb200.com 脚本学堂)
然后,可以使用bg命令将这个挂起的程序放到后台执行,或者使用fg将某个在后台或挂起的进程放到前台执行。
当在后台运行了程序时,可以用jobs命令来查看后台作业的状态。
在有多个后台程序时,要使用来参数的fg命令将不同序号的后台作业切换到前台上运行。
 

复制代码 代码示例:
$ jobs
[1]+ Running fetch ftp://ftp.isc.org/pub/inn/inn-1.7.2.tar.gz &
$ fg %1
fetch ftp://ftp.isc.org/pub/inn/inn-1.7.2.tar.gz

在启动了多个程序之后,可以使用ps命令来查看这些进程及其状态。
 

复制代码 代码示例:
$ ps
PID TT STAT TIME COMMAND
501 p2 Ss 0:00.24 -bash (bash)
988 p2 R+ 0:00.00 ps
765 p3 Is+ 0:00.28 -bash (bash)
230 v0 Is+ 0:00.14 -bash (bash)
 

显示的结果包括进程的标识号PID,控制终端TT(p0表示控制终端为ttyp0),进程的状态STAT,进程使用的处理器时间TIME和具体的命令。
 
另外,有两个常用的ftp工具ncftpget和ncftpput,可以实现后台的ftp上传和下载,这样就可以利用这些命令在后台上传和下载文件了。