"divide et impera"
-
você consegue escrever um script bash simples para realizar sua tarefa?
-
tente com su
-
tente com nohup
-
finalmente tente executar como um script init.d
Desejo registrar a stdout de /home/michael/client
, mas desejo remover linhas contendo vários textos. Como isso é feito? Abaixo está o que eu tentei. Obrigado
SCRIPT=/home/michael/client
RUNAS=michael
PIDFILE=/var/run/client.pid
LOGFILE=/var/log/client.log
PROG="Client Interface"
start() {
if [ -f "$PIDFILE" ] && kill -0 $(cat "$PIDFILE"); then
echo "$PROG already running" >&2
return 1
fi
echo "Starting $PROG…" >&2
local CMD="$SCRIPT >&3 2>&1 & echo \$!"
#local CMD="$SCRIPT | grep -v 'Non-block' | grep -v 'Connecting with ssl...' >&3 2>&1 & echo \$!"
cd 'dirname $SCRIPT'
su -c "$CMD" $RUNAS 3>>"$LOGFILE" >"$PIDFILE"
#su -c "$CMD" $RUNAS | grep -v "Non-block" | grep -v "Connecting with ssl..." 3>> "$LOGFILE" >"$PIDFILE"
#su -c "$CMD" $RUNAS 3>> grep -v "Non-block" | grep -v "Connecting with ssl..." | "$LOGFILE" >"$PIDFILE"
echo "$PROG started" >&2
}
"divide et impera"
você consegue escrever um script bash simples para realizar sua tarefa?
tente com su
tente com nohup
finalmente tente executar como um script init.d