10-18-2010
Shell script for service
Hi,
I want to add an application as a service in Linux(Fedora 12). It should be run always for monitoring my system. It never terminate unless kill it. I wrote this script, put it on /etc/init.d/myapp and added it to run level 2345:
HTML Code:
#!/bin/bash
#
# chkconfig: 2345 20 80
# description: myapplication
#
# Get function from functions library
. /etc/init.d/functions
# Start myapp
start() {
initlog -c "echo -n Starting myapp: "
./home/myuser/myapp -i eth0
### Create the lock file ###
touch /var/lock/subsys/myapp
success $"myapp startup"
echo
}
# Stop myapp
stop() {
initlog -c "echo -n Stopping myapp: "
killproc myapp
### Now, delete the lock file ###
rm -f /var/lock/subsys/myapp
}
### main logic ###
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status myapp
;;
restart)
stop
sleep 5s
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
At now, when i start it, it was started. BUT after rebooting, system isn't boot and stopped after starting myapp(because of script can not reach end of itself and it is stopped in line#11).
Please help me.
NOTE:
I need help in writing script. I don't need help for booting my system.
7 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello All,
I have to import data from xml file to mysql database multi-time a day. I think it is better to write a tool to help this. So I write a web service in php. I don't know that if we can call a web service via shell script. If it can, I think we can create a cron job to help run it... (2 Replies)
Discussion started by: hapytran
2 Replies
2. Shell Programming and Scripting
How can I tell, in a shell script, if a certain service is running? I know how to do this on the command line, but not in a script. Is an error thrown somehow that I can check?
Thanks. (6 Replies)
Discussion started by: daflore
6 Replies
3. Shell Programming and Scripting
Hello Forum,
I have prepared script to monitor the tomcat status.
Following is the script which will monitor tomcat instance.
I need little modifcation in the script.
My script will grep for process,
the output of grep command will analyze by if condition under for loop and will send... (2 Replies)
Discussion started by: ooilinlove
2 Replies
4. Shell Programming and Scripting
Hi All
I am trying to write a shell script that will notify via email if a particular service is down. What I have so far is a script in cron like his:
#!/bin/sh
cd /usr/jdk/instances/jdk1.6.0/bin/sparcv9
jps -m
And the output of the above is
81529 Jps
52988 TaskControllerService... (5 Replies)
Discussion started by: fretagi
5 Replies
5. Shell Programming and Scripting
I want to check the postgres service for client PC which is remotely placed through shell script , whether the Postgres service is working or not.I don't have an idea to develop this script.Please give me a code.
Client PC IP Address:
10.66.1.133 (2 Replies)
Discussion started by: kannansoft1985
2 Replies
6. Shell Programming and Scripting
Hi,
Can we integrate all the systemctl command into a shell script to verify any service with all the options of systemctl if service integrate with the operating system service management tools to deliver their functionality.
sudo systemctl start <service_name>
sudo systemctl stop... (1 Reply)
Discussion started by: Mannu2525
1 Replies
7. UNIX for Beginners Questions & Answers
Hi,
I am totally a newbie to any programming languages and I just started an entry level job in an IT company. One of my recent tasks is to create a script that is able to show the log file of linux service (i.e. ntpd service)
lets say, if I run my script ./test.sh, the output should be... (3 Replies)
Discussion started by: xiaogeji
3 Replies
LEARN ABOUT DEBIAN
catalyst::manual::deployment::nginx::fastcgi
Catalyst::Manual::Deployment::nginx::FastCGI(3pm) User Contributed Perl Documentation Catalyst::Manual::Deployment::nginx::FastCGI(3pm)
NAME
Catalyst::Manual::Deployment::nginx::FastCGI - Deploying Catalyst with nginx
nginx
Catalyst runs under nginx via FastCGI in a similar fashion as the lighttpd standalone server.
nginx does not have its own internal FastCGI process manager, so you must run the FastCGI service separately.
Configuration
To configure nginx, you must configure the FastCGI parameters and also the socket your FastCGI daemon is listening on. It can be either a
TCP socket or a Unix file socket.
The server configuration block should look roughly like:
server {
listen $port;
location / {
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME '';
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# Adjust the socket for your applications!
fastcgi_pass unix:$docroot/myapp.socket;
}
}
It is the standard convention of nginx to include the fastcgi_params in a separate file (usually something like
"/etc/nginx/fastcgi_params") and simply include that file.
If you include the "/etc/nginx/fastcgi_params" that comes with your distribution, e.g. Debian, you need to adjust a couple of parameters
for PSGI compatibility, use something like this:
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_NAME '';
fastcgi_param PATH_INFO $fastcgi_script_name;
Non-root configuration
If you properly specify the PATH_INFO and SCRIPT_NAME parameters your application will be accessible at any path. The SCRIPT_NAME variable
is the prefix of your application, and PATH_INFO would be everything in addition.
As an example, if your application is rooted at /myapp, you would configure:
rewrite ^/myapp$ /myapp/ permanent;
location /myapp/ {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_NAME /myapp/;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_pass unix:/tmp/myapp.socket;
}
$fastcgi_script_name would be "/myapp/path/of/the/action". Catalyst will process this accordingly and setup the application base as
expected.
This behavior is somewhat different from Apache and lighttpd, but is still functional.
Note that the rewrite may not be needed with newer versions of nginx, and the paths must be exactly as specified - the trailing slash in
the location block and the SCRIPT_NAME are important.
SSL
Make sure that nginx passes this to your fastcgi. To ensure this, you need the following in your nginx config for the SSL vhost:
fastcgi_param HTTPS on
MORE INFO
For more information on nginx, visit: <http://nginx.net>
AUTHORS
Catalyst Contributors, see Catalyst.pm
COPYRIGHT
This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.14.2 2012-05-03 Catalyst::Manual::Deployment::nginx::FastCGI(3pm)