linux运⾏jar、nohup:ignoringinputandredirectings。。。
在linux服务器上运⾏Jar⽂件时通常的⽅法是:
$ java -jar test.jar
//这种⽅式特点是ssh窗⼝关闭时,程序中⽌运⾏.或者是运⾏时没法切出去执⾏其他任务
jar在后台运⾏的⽅法:
⽅法⼀:
$ nohup java -jar test.jar &
//nohup 意思是不挂断运⾏命令,当账户退出或终端关闭时,程序仍然运⾏
//当⽤ nohup 命令执⾏作业时,缺省情况下该作业的所有输出被重定向到nohup.out的⽂件中
//除⾮另外指定了输出⽂件。
⽅法⼆:
$ nohup java -jar test.jar & &
//这种⽅法会把⽇志⽂件输⼊到你指定的⽂件中,没有则会⾃动创建
jobs命令和 fg命令:
$ jobs
//那么就会列出所有后台执⾏的作业,并且每个作业前⾯都有个编号。
//如果想将某个作业调回前台控制,只需要 fg + 编号即可。
$ fg 2
查看某端⼝占⽤的线程的pid
netstat -nlp |grep :8080
出现:nohup: ignoring input and redirecting stderr to stdout
nohup java -jar test.jar & &
改成
nohup java -jar test.jar & 2>&1 &
解决linux环境下nohup: redirecting stderr to stdout问题
我的启动命令是这样的:
nohup bin/startManagedServer.sh myserver htp://192.168.0.1 -Xms2048m -Xmx2048m > logs/myserver.out &现在指⾏这个命令,会给我产⽣两个⽂件,⼀个中logs/myserver.out,另⼀个是nohup.out⽂件。
linux重定向怎样才能让它不产⽣nohup.out⽂件呢。
⽹上搜了半天,据说好象可以把后⾯的 “&” 改成 “2>&1 &”,于是把启动命令改成如下:
nohup bin/startManagedServer.sh myserver htp://192.168.0.1 -Xms2048m -Xmx2048m > logs/myserver.out 2>&1 &再次执⾏,问题解决。解释如下:
2>
表⽰把标准错误(stderr)重定向,标准输出(stdout)是1。
尖括号后⾯可以跟⽂件名,或者是&1, &2,分别表⽰重定向到标准输出和标准错误。
2> &1
1> &2
2> stderr.log
1> stdout.log

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。