nohup:
nohup Command [ Arg … ] [ & ]
不挂断地运行命令,要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。如果不将 nohup 命令的输出重定向,输出将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。
应用:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( no hang up)。
java -cp
-cp 和 -classpath 一样,是指定类运行所依赖其他类的路径,通常是类库,jar包之类,需要全路径到jar包,window上分号“;”
分隔,linux上是分号“:”分隔。不支持通配符,需要列出所有jar包,用一点“.”代表当前路径。
使用范例:
java -cp ..\lib\hsqldb.jar org.hsqldb.Server -database mydb
或
java -cp ../lib/hsqldb.jar org.hsqldb.Server -databa
下面以一个邮件发送小程序为例:
SendMail.sh
nohup java -cp bin:
lib/commons-codec-1.3.jar:
lib/jsoup-1.7.2.jar:
lib/commons-httpclient-3.1.jar:
lib/commons-logging.jar:
lib/commons-net-1.4.0.jar:
lib/log4j-1.2.8.jar:
lib/mailsend2.0.jar:
lib/xerces-2.6.2.jar:
lib/xml-apis-1.0.b2.jar:
lib/xmlbeans-2.3.0.jar:
lib/XmlSchema-1.1.jar:
lib/xmlsec-1.3.0.jar:
lib/commons-io.jar:
lib/ibatis-common-2.jar:
lib/ibatis-sqlmap-2.jar:
lib/ojdbc14.jar:
lib/freemarker.jar:
lib/ntfplat-send.jar
com.xxx.xx.xxx.EmailSender > out.txt &
SendMail.sh
. /app/xxx/.bash_profile
cd /app/xxx/xxx/MailSender
echo "`date` start EmailSender" >> start.out
sh SendMail.sh
StopMail.sh
cd /app/XXX/soft/MailSender
MailPID=`ps -ef|grep EmailSender|grep -v grep|grep -v ps|awk '{print $2}'` kill $MailPID echo "`date` kill $MailPID" >> stop.out