home user wrote:
> You could also use 'pgrep ksysguard' ...
Thank-you, Todd.
I tried it. It does not work. I don't know why.
Nor do I. We'd need to see the actual code you ran and its
output for that. :)
I tried both
if ! [[ "pgrep ksysguard" ]] ; then
and
if [[ "pgrep -v ksysguard" ]] ; then
No difference. I tried both single quotes and double quotes; no
difference. I tried these with user2 being a regular user and with user2
being root; no difference.
Those aren't actual code snippets you used, are they? This
code:
if ! [[ "pgrep ksysguard" ]] ; then
is testing whether the string is empty or not rather than
running the command and checking for output. You can see
that by running:
$ [[ "anything" ]] && echo pass || echo fail
pass
or
$ [[ "" ]] && echo pass || echo fail
fail
You more likely want something like:
if pgrep ksysguard >/dev/null; then
...
fi
I'm using ksysguard in this thread for simplicity. My real
.bash_profile is
trying to manage two pairs of xeyes, each with 5 command line options. So
Ed's autostart suggestions do not apply.
Echoing what Ed said in another reply, I think you'd be more
likely to get decent answers if you posted some actual code
and the output.
If you strip the code down for the example you need to be
sure that it properly demonstrates the problem you're trying
to solve.
Otherwise the folks here might post prefectly fine ways to
solve the problem you've given but not the one you actually
have.
--
Todd