I have several scripts that start when my Raspberry Pi is booted, one of them is to start screen session with IRSSI, but sometimes it can happen that two irssi processes are running.
To avoid that I am using a wrapper script eirssi.sh with just:
ps -C irssi || irssi
This method works a lot of times, but there are cases where this is not working and you need a little bit more code to get it tuned properly for example if you want to check if you have command “rtorrent -D” running then following code is proven:
#!/bin/bash RESULT=`ps aux | sed -n "/rtorrent \-D/p"` if [ "${RESULT:-null}" = null ]; then echo "not running" else echo "running" fi
Simple shell script that will guarantee that your commands will not start twice.