大侠帮帮忙啊...小弟要在linux下写一个启动和停止java服务的shell脚本 如题,我有几个java socket的服务要在linux下运行,我想写一个shell脚本来启动和停止它但是个菜鸟希望各位大侠帮帮忙。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一个思路: 你在启动socket的时候, 再多起一个socket, 然后监听某个端口, 如果接收到特定的消息,就程序退出, 例如: main(){ init(); startService()//启动socket服务 创建一个新的socket if(读取监听的消息== stop) system.exit(1);} 非常感谢《huangtian549》的回答,你能你理解错我的意思了,我是想写一个shell脚本来启动我的服务。 你自己去看一下/etc/init.d/httpd这个文件。这个是apache的启动文件,你按着这个写就行了。主要的控制就是这一段:case "$1" in start) start ;; stop) stop ;; status) status -p ${pidfile} $httpd RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f ${pidfile} ] ; then stop start fi ;; reload) reload ;; graceful|help|configtest|fullstatus) $apachectl $@ RETVAL=$? ;; *) echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}" exit 1esacexit $RETVAL因为你是java程序,所以把start等过程里的代码改一下,比如改成这样:/bin/java -cp xxxxx package.ClassName至于怎么做成一个service,要看你用什么Linux发行版了,但是过程大同小异。可去google 嗯,启动的时候按照楼上就行了关闭的时候要先找到你进程的pid,然后 kill -9 pid就行了找进程pid用下面这个pid=`ps -ef | grep 进程名称 | grep -v grep | awk '{print $2}'`进程名称自己用 ps 先命令找出来 非常感谢bayougeng的回复.问题解决了。 IBATIS操作CLOB字段的问题 求教 Hibernate遇到的一个问题!!!!(求助) 关于MyEclipse 不会因为0分帖就不告诉我这个简单的问题了吧 :》 jhtm 入门级框架 log4j 在Unix环境下的问题,高难度,高手请指教!?????? Morgan_ma 请发个经典EJB中一对多关系实例好吗?!!! 怎样在jsp页面中区分显示器的分辨率是多少呢?????在线等你。。。。。!!! jbuilder7编译出的错看不懂,请进来看一下!!! 如何把查询结果放到一个div中 JAVA新手有些事不了解想请大家帮下
例如: main(){
init();
startService()//启动socket服务
创建一个新的socket
if(读取监听的消息== stop)
system.exit(1);
}
这个是apache的启动文件,你按着这个写就行了。
主要的控制就是这一段:
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status -p ${pidfile} $httpd
RETVAL=$?
;;
restart)
stop
start
;;
condrestart)
if [ -f ${pidfile} ] ; then
stop
start
fi
;;
reload)
reload
;;
graceful|help|configtest|fullstatus)
$apachectl $@
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
exit 1
esacexit $RETVAL
因为你是java程序,所以把start等过程里的代码改一下,比如改成这样:
/bin/java -cp xxxxx package.ClassName
至于怎么做成一个service,要看你用什么Linux发行版了,但是过程大同小异。可去google
pid=`ps -ef | grep 进程名称 | grep -v grep | awk '{print $2}'`进程名称自己用 ps 先命令找出来