Ответ 1
Нет, вам нужно добавить nohup в команды отдельно.
Рекомендуется нечто подобное:
nohup sh -c "cmd1 | cmd2" &
Или, альтернативно:
nohup $SHELL <<EOF &
cmd1 | cmd2
EOF
Если я делаю
nohup cmd1 | cmd2 &
- то же, что и
nohup "cmd1 | cmd2" &
?
Мне бы хотелось, чтобы я nohup
все, так как cmd1
будет прослушивать порт 8023.
Нет, вам нужно добавить nohup в команды отдельно.
Рекомендуется нечто подобное:
nohup sh -c "cmd1 | cmd2" &
Или, альтернативно:
nohup $SHELL <<EOF &
cmd1 | cmd2
EOF
В качестве альтернативы nohup
я рекомендую
( cmd1 | cmd2 ) > logfile < /dev/null 2>&1 &
Перевернув stdin, stdout и sterr из терминала, это обеспечивает тот же эффект, что и nohup, с синтаксисом, который я, по крайней мере, предпочитаю.
nohup cmd1 | cmd2 &
Нет, я только что проверил это следующим образом
nohup: ignoring input and redirecting stderr to stdout