Re: being able to get results of shell command
- From: Michal Jaegermann <michal harddata com>
- To: Rohan Nicholls <rohan nicholls pareto nl>
- Cc: sawfish-list gnome org
- Subject: Re: being able to get results of shell command
- Date: Thu, 27 May 2004 10:40:03 -0600
On Thu, May 27, 2004 at 01:33:04PM +0200, Rohan Nicholls wrote:
> I am trying to figure out how to find out if a program is already
> running before starting it up. I start a number of programs from my
> .sawfishrc and on a restart of sawfish I don't want to start them up
> again.
On Linux I wrote myself the following script, called maybe_restart:
#! /bin/sh
# run a program only if we do not have a copy already
# Michal Jaegermann, michal harddata com, 2002/Feb/10
who="$(id -u)"
iown () {
[ "$who" = $3 ]
}
for p in $(/sbin/pidof $1) ; do
iown $(\ls -ldn /proc/$p) && exit
done
exec $@
If you will do 'maybe_restart some_program <options>' then
some_program will start only if _your_ copy of some_program is not
running already. Function 'iown()' can be obviously implemented in
some other way if do not have /proc to peek into directly. All of
the above can done by trawling through an output from 'ps', with
appropriate options, but I wanted that quick and simple. :-)
The above will clearly fail if the program you are trying to start
is really a "wrapper" which sets up some enviroment and after that
runs "the real thing" (see, for example, galeon or mozilla). If you
have a list of such programs then you can add it to that script and
"translate" before a search. Some 'case .... esac' construct will
do. For my purposes this simple thing was good enough.
Michal
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]