linux 实施 java 程序
linux 执行 java 程序
程序是死循环,不可能下来
这个只是做个演示
程序是死循环,不可能下来
这个只是做个演示
嗯,巴哥最近在学linux这块吗?
建个类
/** * Hello world! * */ public class App { public static void main(String[] args) throws InterruptedException { while (1 == 1) { System.out.println(args[0] + " ==================== > time " + System.currentTimeMillis()); Thread.currentThread().sleep(1000); } } }
打成jar 包, Main-class 是A
写sheel test-java.sh
#!/bin/bash CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar #export CLASSPATH cd /home/guoba/lib java -classpath $CLASSPATH -jar test.jar a & java -classpath $CLASSPATH -jar test.jar b & wait java -classpath $CLASSPATH -jar test.jar c & java -classpath $CLASSPATH -jar test.jar d &
& 是后台执行,不同步
wait 是等待上面的进程完毕后再进行
执行命令:
nohup ./test-java.sh > success.log 2>error.log &
这种是后台执行,并把标准输出重定向,关闭终端仍在执行
./test-java.sh
输出在当前控制台,关闭该终端时,将退出启动的进程。
crontab -e
*/2 * * * * /home/guoba/test/test-java.sh 1>success.log 2>error.log每两分钟启动一次,关闭终端不影响任务
1 楼
sammor
2011-11-16
补充:
因为前面shell脚本里面
后面加了&,使进程变成后台运行。
这时要查看进程进行,可以使用命令查看
执行该命令可以查看当前系统运行的进程。
如下格式:
对于强制停止进程命令:
因为前面shell脚本里面
java -classpath $CLASSPATH -jar test.jar a &
后面加了&,使进程变成后台运行。
这时要查看进程进行,可以使用命令查看
ps -ef
执行该命令可以查看当前系统运行的进程。
如下格式:
UID PID PPID C STIME TTY TIME CMD
对于强制停止进程命令:
kill -9 [PID]
2 楼
sammor
2011-11-16
上面写的脚本里面的wait,虽然是等待前面运行完,但这里面的程序写的都是死循环了,这样哪有机会执行到下面的呢?
3 楼
锅巴49
2011-11-16
sammor 写道
补充:
因为前面shell脚本里面
后面加了&,使进程变成后台运行。
这时要查看进程进行,可以使用命令查看
执行该命令可以查看当前系统运行的进程。
如下格式:
对于强制停止进程命令:
因为前面shell脚本里面
java -classpath $CLASSPATH -jar test.jar a &
后面加了&,使进程变成后台运行。
这时要查看进程进行,可以使用命令查看
ps -ef
执行该命令可以查看当前系统运行的进程。
如下格式:
UID PID PPID C STIME TTY TIME CMD
对于强制停止进程命令:
kill -9 [PID]
程序是死循环,不可能下来
这个只是做个演示
4 楼
sammor
2011-11-16
锅巴49 写道
sammor 写道
补充:
因为前面shell脚本里面
后面加了&,使进程变成后台运行。
这时要查看进程进行,可以使用命令查看
执行该命令可以查看当前系统运行的进程。
如下格式:
对于强制停止进程命令:
因为前面shell脚本里面
java -classpath $CLASSPATH -jar test.jar a &
后面加了&,使进程变成后台运行。
这时要查看进程进行,可以使用命令查看
ps -ef
执行该命令可以查看当前系统运行的进程。
如下格式:
UID PID PPID C STIME TTY TIME CMD
对于强制停止进程命令:
kill -9 [PID]
程序是死循环,不可能下来
这个只是做个演示
嗯,巴哥最近在学linux这块吗?