Usar exec
com &
faz pouco sentido (embora isso não seja a fonte do seu problema), isso não salvará nenhuma bifurcação extra. Com componentes de pipe, só consigo ver salvando um fork com o shell zsh
, mas somente se aplicado no último componente do pipe ( cmd1 | exec cmd2
, e isso significa que zsh
não aguarda mais pelos outros componentes do pipe).
Aqui, você não está redirecionando o stderr do script python para ts
, embora esteja enviando-o para o arquivo log
. Você provavelmente iria querer:
su -s /bin/sh -c '
"$0" "$@" 2>&1 |
ts "[%Y-%m-%d %H:%M:%S]"
' user -- test.python "$FULLPATH" > log 2>&1 &