Cygwin - отключить вывод exe-файла, чтобы предотвратить его падение - PullRequest
0 голосов
/ 02 апреля 2020

Я ищу способ заставить замолчать вывод исполняемого файла, чтобы предотвратить его падение через соединение s sh в Cygwin.

У меня есть небольшой исполняемый файл, который отправляет задания на устаревшее программное обеспечение без использования GUI. Исполняемый файл выводит имя задания и обновляет% complete до stdout. Это прекрасно работает при локальном запуске на компьютере windows, на котором установлено программное обеспечение.

Я пытаюсь все настроить так, чтобы исполняемый файл можно было вызывать удаленно через соединение s sh. Я установил sshd через Cygwin и смог успешно установить sh s sh соединение с машиной, однако, когда я запускаю исполняемый файл через соединение s sh, программа падает с общей ошибкой c. является недействительным." когда придет время обновить% complete. В то время как исполняемый файл аварийно завершает работу, первое задание отправляется успешно и выполняется нормально, но второе задание никогда не отправляется.

Я думаю, что есть что-то во взаимодействии между исполняемым файлом и оболочкой Cygwin, которое вызывает проблему при обновлении строки. Я попытался перенаправить вывод в файл или в NUL, но вывод все еще виден на экране:

cmd /C "D:\executable.exe D:\input.config" /U D:\output.txt
cmd /C "D:\executable.exe D:\input.config" 1> log.out 2>&1 

Исполняемый файл не принимает флаги молчания и, к сожалению, перекомпилирует его, чтобы сделать это менее многословно не вариант. Будут оценены любые указания относительно того, как заставить замолчать вывод или что может быть причиной проблемы. Спасибо!

...