Otra opción es usar superformat
, que formateará el disquete y creará un sistema de archivos DOS con los parámetros apropiados (usando mtools
’mformat
); por ejemplo,
superformat /dev/fd0 hd
para formatear un disco de 1440K.
Sin embargo, incluso fdformat
debería poder verificar su disquete formateado sin problemas, por lo que hay algo más mal en alguna parte...
( Вопрос был отправлен мной почти три года назад. Осмелюсь сказать, что тем временем я стал лучше писать сценарии оболочки -Недавно я столкнулся с похожей проблемой и снова вспомнил об этом вопросе.)
Итак, как было сказано в предыдущем комментарии, все, что мне нужно было использовать, это screen
. Но поскольку у меня не было доступа к сочетаниям клавиш, когда я запускал код в кластере, я не мог использовать Ctrl + A, чтобы вернуться к телу моего основного скрипта, как предполагалось в ответе.
Ну, все, что мне нужно было сделать, это начать screen
в фоновом режиме вот так:
Запуск экрана с образцом имени экрана -в автономном режиме от основного сценария.
screen -S sample-screen -d -m
Попросить отсоединенный экран запустить команду, не -прикрепляя ее.
screen -S sample-screen -p 0 -X stuff "./script1.sh & ^M"
^M
— символ возврата. Сродни нажатию ввода на отдельном экране.
Убить экран при выходе из скрипта-
screen -XS sample-screen quit
Похоже, задание, которое вы отправляете, должно выполнять обе задачи.
#!/bin/sh
license </dev/null >license.out 2>&1 &
license_pid=$!
simulator
kill $license_pid
wait $license_pid
Это сохраняет стандартный вывод и стандартные ошибки процесса лицензирования в файл, чтобы вы могли tail
увидеть, что он хочет вам сказать, если возникнет проблема.
Не можете ли вы ssh
перейти к узлу, а затем запустить копию screen
? Взгляните на страницу руководства. Это позволяет вам иметь две или более сессий в качестве (эффективных )подпроцессов вашей ssh
оболочки входа в систему.
Итак, ssh
как обычно. Пуск screen
. Введите Ctrl-A , а затем c , чтобы создать второй экран. Запустите лицензию на этом экране, затем используйте Ctrl-ACtrl-A , чтобы вернуться к исходному экрану. Запустите свое приложение там. Используйте последовательность Ctrl-ACtrl-A для переключения вперед и назад, если это необходимо.
Чтобы отсоединиться без завершения, используйте Ctrl-ACtrl-d ; чтобы повторно подключиться позже (даже после завершения сеанса ssh
и повторного входа в систему, используйте screen -x
.