现在的位置: 首页 > 综合 > 正文

[转] 让java程序在后台一直执行(例如putty关闭后后台程序继续运行)

2018年04月14日 ⁄ 综合 ⁄ 共 593字 ⁄ 字号 评论关闭

在linux系统下如何使一个程序在后台一直执行呢?很多人使用&结尾的命令形式,但是如果没有守护进程的话,即使这样,在终端关闭时程序也会终止运行。这时候就得使用nohup命令了。

 

     例如,如果在终端中执行java -jar xxx.jar&命令,当终端关闭时,xxx.jar也会同时结束运行,但是如果执行nohup java -jar xxx.jar&命令,则程序会在后台一直运行,值得注意的是,此时程序控制台输出会被转移到nohup.out文件中。

 

附:nohup命令参考 nohup 命令   

 

用途:不挂断地运行命令。   

语法:nohup Command [ Arg ... ] [ & ]   

描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示"and"的符号)到命令的尾部。   

     无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。

抱歉!评论已关闭.