One-liner для выполнения процесса в текущем каталоге без вывода и отменить его?

Я пытаюсь сделать что-то довольно простое:

$ ( cd /opt/myprogram && ./myprocess.sh >/dev/null 2>&1 & ; disown $! ) -bash: syntax error near unexpected token `;' 

Как я могу вытащить однострочный шрифт в под-оболочку, выполнить данный скрипт из заданной папки, обнулить вывод и отправить его на задний план?

  • Существует ли совпадение в использовании PID и jobspec в Bash?
  • Почему «nohup» и «disout» не работают на SoX (вызывается как «игра»)
  • Как отключить процесс из сценария bash?
  • Почему «nohup» и «disout» не работают на SoX (вызывается как «игра»)
  • Как отключить процесс из сценария bash?
  • Существует ли совпадение в использовании PID и jobspec в Bash?
  • 2 Solutions collect form web for “One-liner для выполнения процесса в текущем каталоге без вывода и отменить его?”

    Проблема в том, что вы используете как & ; вместе. Они оба являются командными терминаторами и не могут использоваться одновременно. Вот ваш пример:

     ( cd /opt/myprogram && ./myprocess.sh >/dev/null 2>&1 & disown ) 

    Утилита nohup была разработана для всего, что вы ищете:

     Usage: nohup COMMAND [ARG]... or: nohup OPTION Run COMMAND, ignoring hangup signals. If standard input is a terminal, redirect it from /dev/null. If standard output is a terminal, append output to 'nohup.out' if possible, '$HOME/nohup.out' otherwise. If standard error is a terminal, redirect it to standard output. To save output to FILE, use 'nohup COMMAND > FILE'. 
    Linux и Unix - лучшая ОС в мире.