Как закрыть несколько программ SAS одновременно?

Как закрыть несколько программ SAS одновременно?

У меня есть несколько программ SAS

test1_2.sas
test3_4.sas
test7_8.sas

и я надеюсь, что nohupэти скрипты сразу. Я попытался создать оболочку-обертку, такую ​​как test.sh:

#test running multiple files
testing1_2.sas &
testing3_4.sas &

и я пробовал вызывать nohup sas test.sh &и nohup test.sh &. Обе команды говорят мне, test.shчто не находится в текущем каталоге, хотя он явно сохранен в папке.

Я все еще новичок в написании скриптов оболочки и хотел бы получить помощь в поиске правильного способа запуска nohupнескольких программ SAS. Спасибо!

решение1

Я не большой поклонник nohup (вместо этого я использую disown), но если вы поставите «nohup» перед каждой командой в скрипте оболочки, то это выполнит часть вашего вопроса, касающуюся nohup.

Однако я думаю, что ваши файлы — это программы SAS? Если вы хотите, чтобы SAS запускался параллельно на каждой программе SAS:

nohup sas test1_2.sas &
nohup sas test3_4.sas &
etc.

Это позволит запускать независимые команды SAS, каждая со своей собственной программой SAS.

Продолжая команду nohup, если они производят вывод, они все будут писать в nohup.out одновременно. Чтобы предотвратить это, записывайте вывод и сообщения об ошибках в отдельный файл для каждой команды:

nohup sas test1_2.sas > output1_2.file 2>&1 &
nohup sas test3_4.sas > output3_4.file 2>&1 &
etc.

Добавлен код из комментариев:

Чтобы вызвать команду test.sh, выполните следующие действия:

bash test.sh

(где «bash» — ваша любимая оболочка) или пометьте его как исполняемый:

chmod +x test.sh

Поскольку вы новичок, убедитесь, что вы правильно ответили на свой вопрос, и нажмите на галочку.

Связанный контент