Я использую интерактивные задания pbs в bash, запущенные с использованием qsub -I
, и я бы хотел запустить какую-нибудь команду после запуска. После выполнения этой команды я хотел бы продолжить использовать интерактивное резервирование как обычно.
Я не уверен, как это сделать, потому что, как и при открытии интерактивных приглашений ssh, команды, выдаваемые после завершения работы удаленного терминала, т.е. qsub -I; hello
.
РЕДАКТИРОВАТЬ: Чтобы уточнить, в приведенном выше примере (qsub -I; hello
), Я хочу бежать hello
внутри резервирование qsub, а не на машине, на которой я делал резервирование.
Я знаю, что могу указать сценарий задания для qsub, но из страница руководства Я не думаю, что он делает то, что я хочу:
... работа - это интерактивная работа. Скрипт будет обработан для директив, но не будет включен в задание.
Попробуйте это: запустите qsub -I нажмите CTRL-Z, чтобы перевести процесс в спящий режим, запустите hello, когда hello завершено, вы можете использовать fg для возврата в qsub
вы можете сделать то же самое с
qsub -I &; echo "hello world"; fg
Если я понимаю ваше разъяснение, возможно, вы захотите запустить это в подоболочке, т.е.
Подоболочка может использоваться для настройки «выделенной среды» для группы команд.
COMMAND1
COMMAND2
COMMAND3
(
IFS=:
PATH=/bin
unset TERMINFO
set -C
shift 5
COMMAND4
COMMAND5
exit 3 # Only exits the subshell!
)
# The parent shell has not been affected, and the environment is preserved.
COMMAND6
COMMAND7