Safekill OBS с пакетным скриптом

551
Mr. Mendelli

Я хотел бы создать пакетный сценарий, который безопасно закрывает OBS Studio без повреждения сеанса потоковой передачи. В этой теме обсуждается закрытие программы с помощью TASKKILL, но когда я попробовал, это не сработало. Их примеры ссылаются на Windows XP, отличается ли она от Windws 10? Вот сценарии, которые я использовал после их примера:

TASKKILL /FI "C:\Program Files (x86)\obs-studio\bin\64bit\obs64.exe" 

а также

TASKKILL /FI obs64.exe 

Термин, который я видел раньше, назывался «безопасным» убийством. Можно ли это сделать с помощью пакетного сценария, и если да, то как?

1
Какой сценарий у вас есть, что потребует от вас убить его с помощью сценария? В зависимости от формата записи, как подсказывают вам опции, важно правильно остановить запись, чтобы не повредить запись. Согласно `taskkill /?` Вам понадобится либо PID, либо имя изображения. Таким образом, ваша вторая версия должна работать, чтобы убить задачу. Поскольку вы не используете подстановочные знаки, вы можете просто пропустить флаг `/ FI`. Seth 7 лет назад 0
У меня есть OBS, работающий на отдельной машине, и я хотел бы сделать завершение моих потоков намного проще, в основном это будет просто ярлык для перехода на другую машину и ручного закрытия ее там. Я не знаю, что такое «подстановочный знак» (я все еще довольно новичок в программировании). Я также не против, если сценарий вызывает приглашение сохранить работу. Я просто хочу безопасно убить ведьму. Mr. Mendelli 7 лет назад 0
Это не имеет никакого отношения к программированию. Подстановочный знак является заполнителем. Например, вы можете использовать `ob *` для уничтожения всех совпадающих процессов, где `*` представляет любое количество символов. Если вы хотите выполнить `taskkill` удаленно, вам нужно будет указать` / S` и, возможно, `/ U` и` / P`. Просто запустите `taskskill /?` И посмотрите на примеры. OBS - это довольно сложное приложение, поэтому может быть лучше остановить его вручную. Вы можете просто использовать что-то вроде удаленного рабочего стола для доступа к другому ПК. Seth 7 лет назад 0
Хорошо, но что делает `/ FI`? Mr. Mendelli 7 лет назад 0
`taskskill /?` что вы не понимаете в описании? Seth 7 лет назад 0

1 ответ на вопрос

2
Seth

Если бы вы просто прочитали доступный текст справки taskkill, запустив taskkill /?или просмотрев онлайн-документацию, вы бы увидели, что делает каждый переключатель, а также получили несколько примеров.

Чтобы на самом деле увидеть вывод, taskkill /?вам придется заранее открыть окно командной строки.

Оба вывода покажут вам, что для того, чтобы убить удаленный процесс, вам нужно будет выполнить что-то вроде taskkill /s computer /u user /p password /im obs64.exe. Программа должна решить, как она справится SIGTERM.

Спасибо за ваш вклад, я просто поработаю с этим еще немного, чтобы настроить его. Mr. Mendelli 7 лет назад 0