This week's book giveaway is in the OCAJP forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide 1Z0-808 and have Jeanne Boyarsky & Scott Selikoff on-line! See this thread for details.
I have a java socket server I wrote to allow me to keep a web clusters code base in sync. When I run the init.d script from a shell login like so
Logout and all will work fine but if the server reboots or I run the init.d using services like so
Any of the exec() commands passed to the socket server will not get executed on the linux box. I am assuming it has to do with the JVM having no real shell. If I login and run
[root@web11 www]# /etc/init.d/servermngr start ...and logout all runs nice all CVS commands are executed.
Another note when run as a service the socket server responds to status checks so it is running along with the log showing it received commands
[root@web11 ~]# tail -f /www/logs/ServerManager.log
Server Started on ip 192.168.56.151
Server Started on port 4444
CVS Update Received: cd /www;cvs up -d htdocs/;cvs up -d phpinclude/
They just dont get executed on the OS. I get no errors in Linux or Java
Here is the init.d script
Thanks for any help
Joined: Dec 06, 2009
Here is the part of the java code that execs the commands
subject: Java SocketServer running as a Linux Service .exec() question