How can I investigates whether already running a program called /root/dodo/dodo?
But I need to run a scan directly from the program, which tests.
file /root/todo/todo #!/bin/bash if [ check run program /root/todo/todo ] then exit else #continued fi
you can check the process and see if there is a name like you indicated:
$ ps aux | grep "/root/dodo/dodo"
if you need to do test inside a bash script,
ps aux | grep -v "grep" | grep -q "/root/dodo/dodo" if [ $? -eq 0 ]; then # do stuff if it is running else # do stuff if it is not running fi
If you want to know whether a program called /root/dodo/dodo is already running or not at the moment, use the following:
ps eaf | grep /root/dodo/dodo
It seems that you want to write a shell script which ensures that there is only one single instance (process) running it.
Then see this question and consider using
The appropriate way to check whether one or more running processes match a string is
pgrep. Never use
ps | grep.
if pgrep bash >/dev/null; then echo "found a bash process" else echo "didn't find a bash process" fi