linux后台运行程序
最近自己写一个多线程做压力测试,故而要在linux中在后台运行自己写的java程序,其实很简单,只需要用到nohup命令。
如果想运行一个后台进程,需要下面这样做
nohup java -cp "./WEB-INF/lib/*:./WEB-INF/classes" cn.limaoyuan.Test >> /var/log/nohup.out &
这句话的意思是执行Test程序,并把日志输出到 /var/log/nohup.out文件中,如果不指定nohup.out文件的位置,那么nohup会自己在执行命令的目录下面创建nohup.out文件来输出日志,如果没有相应权限,则会在linux的目录下创建nohup.out文件。
结尾的 & 符号代表这个程序不会受到ctrl+c的影响,依然会在后台运行程序,而控制台可以做其他的事情。
那么如何将nohup的后台进程调出来进行控制呢?
只需要打印 jobs ,这样会列出当前系统的所有nohup后台进程表。
[1]+ Running nohup java -cp "./WEB-INF/lib/*:./WEB-INF/classes" cn.limaoyuan.Test >> /var/log/nohup.out &
接下来只需要 fg+%n ,如上面调出Test这个后台进程,需要 fg 1 ,那么这个进程就被恢复成前台进程,我们也就可以通过ctrl+c来终止这个程序了。