Подтвердить что ты не робот

Как я могу использовать nohup для запуска процесса в качестве фонового процесса в Linux?

Я использую эту команду для выполнения моей работы.

(time bash executeScript 1 input fileOutput $> scrOutput) &> timeUse.txt

Пока, 1 - это ряд процессов, которые я использую для выполнения этой работы. Я должен изменить количество процессов для каждого прогона. В каждый раз он использует длительное время для завершения. Затем я хочу запустить его как фоновый процесс.

Как я могу это сделать?

Я пробовал:

nohup ((time bash executeScript 1 input fileOutput $> scrOutput) &> timeUse.txt)

Но это не сработает.

4b9b3361

Ответ 1

В общем, я использую nohup CMD & для запуска фонового процесса nohup. Однако, когда команда находится в форме, которую nohup не примет, я запускаю ее через bash -c "...".

Например:

nohup bash -c "(time ./script arg1 arg2 > script.out) &> time_n_err.out" &

stdout из script записывается в script.out, а stderr и вывод time переходит в time_n_err.out.

Итак, в вашем случае:

nohup bash -c "(time bash executeScript 1 input fileOutput > scrOutput) &> timeUse.txt" &

Ответ 2

Вы можете написать script, а затем использовать nohup ./yourscript & для выполнения

Например:

vi yourscript

ставить

#!/bin/bash
script here

вам также может потребоваться изменить разрешение на запуск script на сервере

chmod u+rwx yourscript

наконец,

nohup ./yourscript &

Ответ 3

  • Используйте экран: Запустите screen, запустите свой script, нажмите Ctrl + A, D. Повторите попытку с помощью screen -r.

  • Сделайте script, который принимает ваш "1" в качестве параметра, запустите nohup yourscript:

    #!/bin/bash
    (time bash executeScript $1 input fileOutput $> scrOutput) &> timeUse.txt