Thank you! Sorry I am a newbie. So, the whole script would be like this?
Your code isn't that bad actually, there's just a few things to learn which will help simplify what you do. Remember you can use 'exit' to make the script quit at any time, which helps avoid n+1 levels of nested nesting.
Also get in the habit of bracketing and quoting your variables. The quotes prevent things from being split into several arguments when you end up with spaces in filenames and such. And the brackets let you "${put}_${together}_${variables}" when "$it_$wont_$work_$without_$them": (because _ is a valid char for a variable name, making it look for $it_ instead of $it, etc.
Code:
#!/bin/bash
PIDFILE="/tmp/php.pid"
PHPSCRIPT="/home/www/mydomain.com/subdomains/www/parser.php"
echo 'Checking php process from PID file'
# We can split this out to reduce the amount of nesting
if [ ! -f "$PIDFILE" ]
then
echo "Hey no file - first time maybe?"
# Don't need the & after $PIDFILE.
php $PHPSCRIPT & echo $! > "$PIDFILE"
# not all shells need this, but bash does
disown
# Script will quit here.
exit 0
fi
# We know the PID file must exist to get to this point.
# cat is not needed here. read and redirection are much more direct and efficient.
read PID < "$PIDFILE"
# Don't need to run ps and grep.
# All running processes will have directories under /proc.
# Things under /proc/ aren't really files and directories, it's a direct view
# of what the kernel believes is going on.
if [ -d "/proc/$PID" ]
then
echo "php process still running - let us kill it!!!"
kill "$PID" || echo "Couldn't kill $PID"
else
echo "php process not running - crap!!!"
rm -f "$PIDFILE"
# You don't need the & after $PIDFILE.
php "$PHPSCRIPT" & echo $! > "$PIDFILE"
# not all shells need this, but bash does
disown
fi
Ideally, your PHP script should be responsible for making, and deleting, its own PID file.
Hi All,
I have requirement. I am running a job every 30mins. before starting the process, i need to check the process, if the process is still running then i need not trigger the process again, if it is not running then trigger the process again. I am using cron to trigger the shell script. Can... (7 Replies)
Dears all
i have an AIX box in which i am facing a problem with a process as below:
/usr/dt/bin/dtexec -open 0 -ttprocid
and each time i am killing this process with "kill -9" then it run again after a while.
any ideas or solutions will be appreciated. (13 Replies)
Hi
I have a script, which i ran in background, can someone please help in stopping this.
i gave this command:
ksh abc.ksh &
this script sends me a mail every 30 seconds. i have deleted the script but still i am getting the mails. can some one please help me stopping dese.
... (3 Replies)
Hi there,
I have written a script to check daily process,
each script is in a different directory.
Now the first process is running fine, when it goes to the next directory the process doesn't executes.
cd result/logs
ref=month_1888.log
echo $ref>> $logfile
cd /max/tot/first... (3 Replies)
Dear Sir,
I am using CentOS-5.2(64-bit) as an server side OS in a cluster with 32 slaves+1 Master. My question is, after compiling a file with ifort, I am suppose to get a executable(say a.out). I want my users to do ssh slave.local and then do ./a.out
But is it possible to restrict... (0 Replies)
I have the following log file running since yesterday and its consuming so much of the disk space.
-rw-rw-r-- 1 dev dba 4543237120 Nov 10 09:00 load_run_file1_0.1111091224.lg
How do i kill this process. I don't have any idea of stopping this. Any help would be really appreciated.
... (3 Replies)
Hi,
I am running a schedular script which will check for a specific time and do the job. I wanted to run this continuously. Meaning even after the if condition is true and it executes the job, it should start running again non stop.
I am using below script
#!/bin/sh
start:
while true
do... (10 Replies)
Hello,
I am trying to make a bash script, I tested nohup but it did not help me.
My code is:
ffmpeg -i $input_url -c:v copy -c:a copy -listen 1 -f mpegts http://localhost:port/live/test
When I open it in VLC, it starts feeding my screen and I see bitrate values.
When I stop watching it,... (4 Replies)
Discussion started by: baris35
4 Replies
LEARN ABOUT CENTOS
pppoe-connect
PPPOE-CONNECT(8) System Manager's Manual PPPOE-CONNECT(8)NAME
pppoe-connect - Shell script to manage a PPPoE link
SYNOPSIS
pppoe-connect [config_file]
pppoe-connect interface user [config_file]
DESCRIPTION
pppoe-connect is a shell script which manages a PPPoE connection using the Roaring Penguin user-space PPPoE client. If you omit con-
fig_file, the default file /etc/sysconfig/network-scripts/ifcfg-ppp0 is used. If you supply interface and user, then they override the
Ethernet interface and user-name settings in the configuration file.
Note that normally, you should not invoke pppoe-connect directly. Instead, use pppoe-start to bring up the PPPoE connection.
pppoe-connect first reads a configuration file. It then brings up a PPPoE connection. If the connection ever drops, a message is logged
to syslog, and pppoe-connect re-establishes the connection. In addition, each time the connection is dropped or cannot be established,
pppoe-connect executes the script /etc/ppp/pppoe-lost if it exists and is executable.
The shell script pppoe-stop causes pppoe-connect to break out of its loop, bring the connection down, and exit.
TECHNICAL DETAILS
pppoe-connect uses the following shell variables from the configuration file:
ETH The Ethernet interface connected to the DSL modem (for example, eth0).
USER The PPPoE user-id (for example, b1xxnxnx@sympatico.ca).
PIDFILE
A file in which to write the process-ID of the pppoe-connect process (for example, /var/run/pppoe.pid). Two additional files ($PID-
FILE.pppd and $PIDFILE.pppoe) hold the process-ID's of the pppd and pppoe processes, respectively.
By using different configuration files with different PIDFILE settings, you can manage multiple PPPoE connections. Just specify the con-
figuration file as an argument to pppoe-start and pppoe-stop.
AUTHOR
pppoe-connect was written by David F. Skoll <dfs@roaringpenguin.com>.
The pppoe home page is http://www.roaringpenguin.com/pppoe/.
SEE ALSO pppoe(8), pppoe-start(8), pppoe-stop(8), pppd(8), pppoe.conf(5), pppoe-setup(8), pppoe-status(8), pppoe-sniff(8), pppoe-server(8), pppoe-
relay(8)4th Berkeley Distribution 21 February 2000 PPPOE-CONNECT(8)