I know there are a thousand of these available online. This is one I just wrote and wanted to make it a thousand and one. This script will start irssi if there is no irssi process available.

Save the following script somewhere (example /home/kay/bin/irssi_init.sh) and add the following to your crontab:

*/1 * * * * /home/kay/bin/irssi_init.sh >> ~/irssi_init.log

Replace ~/irssi_init.log with any file you'd like the output to be saved to or /dev/null if you don't care.

The script:

#!/bin/sh
procname=/usr/bin/irssi
sessionname='irc'
runcmd="screen -U -dmS $sessionname $procname"
 
username=`id -un`
existing_pids=`pidof -s $procname` # Get the first irssi PID available
 
echo [`date +%X`] RUNNING PIDS: "$existing_pids";
 
if [ -z $existing_pids ]; then
        startproc=true;
else
        # Found at least one instance
        my_pid=`ps -U $username -u $username -o pid= | grep "$existing_pids"`; # Filter to check the PID is mine
 
        echo [`date +%X`] MY RUNNING PIDS: "$my_pid";
        if [ -z $my_pid ]; then
                startproc=true;
        fi
fi
 
if [ ! -z $startproc ]; then
        echo [`date +%X`] Running "$runcmd";
        $runcmd;
else
        echo [`date +%X`] No need to start "$procname";
fi