Итак, я создаю быстрый скрипт, который в основном запускает xboxdrv, затем игру из пара, чтобы поддерживать поддержку контроллера. Да, в то время как большинство игр с поддержкой контроллера автоматически работают с контроллером Xbox 360, есть несколько игр, в которых вам нужно будет управлять контроллером под драйвером xpad, иначе он не узнает контроллер по какой-либо причине. В игре речь идет о Bit.Trip Runner 2 на Linux (XUbuntu).Подождите, пока процесс, запущенный другой программой, завершится
Проблема, с которой я столкнулась, заключается в том, чтобы заставить сценарий ждать выхода игры (поскольку он запускается собственными командами пара), а затем завершает работу xboxdrv, чтобы освободить память, но происходит то, что происходит игра выходит, я должен зайти в терминал и нажать Ctrl + C, чтобы переместить его.
Если возможно, объясните, пожалуйста, в терминах непрофессионала, потому что это мой первый полный пакетный скрипт для linux. Ниже приведен сценарий, о котором идет речь:
sudo --validate
sudo xboxdrv --silent --detach-kernel-driver --mimic-xpad --dbus session & sleep 2
steam steam://rungameid/$APPID #<-- I want the game to exit to then kill xboxdrv
wait -n $! #<-- If I don't put wait, it will immediately kill xboxdrv after the game launches
sudo killall xboxdrv
exit 0
Добро пожаловать в StackOverflow. Это, вероятно, лучше всего, если вы можете обрезать свой (в противном случае полный) сценарий оболочки только несколькими строками, которые не выполняют то, что вы хотите. Таким образом, вы получите больше людей, заинтересованных в помощи вам. –
Да, извините. Когда я отправил этот вопрос, я спал. Просто интересно, будет ли это работать, если я использую * pgrep * для поиска модуля процесса, а затем скажу * wait *, чтобы ждать этого идентификатора? – Tech0verlord