Iniciar myprocess de dentro de startmyprocess.sh não nome o processo após o script de shell subjacente, é por isso que seu ps -ef | grep startmyprocess1
não retorna um resultado.
É também por isso que muitos processos, especialmente daemons, escrevem seus arquivos para que você possa facilmente referenciar seu processo. Isso pode ser feito com:
#!/bin/sh
pid='myprocess'
echo $pid > /tmp/myprocess.pid
ou você pode consultar $!
que contém o último pid:
#!/bin/sh
myprocess
echo $! > /tmp/myprocess.pid
e consulta / lista o processo pelo seu pid:
ps --pid $PID