Контекст: я делаю свой собственный менеджер по сохранению облаков для моих не Steam Games, я в процессе реализации обертки, которая запускает игры, но также загружает файл из облака перед открытием и когда вы даете ей сигнал Shut Down Backsup Save Files. < /p>
В настоящее время в Windows следующий код работает с использованием WSL: < /p>
preaunk_wrapper_windows.shr.shrapper_windows.shr.shr.shrapper_windows.shr.shrapper_windows. class = "Lang-Bash PrettyPrint-Override">#!/bin/bash
path="~/game_save_backups"
handle_HUP()
{
/mnt/c/Windows/system32/cmd.exe backup.bat
exit
}
trap 'handle_HUP' HUP
/mnt/c/Windows/system32/cmd.exe auto_override_load_saves.bat
$1 "$2"
handle_HUP
< /code>
Это используется следующим образом:
lanch_x_game.bat
cd ../game_save_backups/
wsl -e bash -lic "launch_wrapper_windows.sh emulator_path 'game_path'"
< /code>
Теперь та же самая логика не работает на Steam OS (работая Archlinux).
Отправленный сигнал является int, а затем ??? Нет подсказки, я использовал сценарий Sigcatcher, и он в затруднительном положении ничего не возвращал, просто пустой файл < /p>
Так что происходит, нажмите «Стоп в паре» -> int signal для скрипта -> Запуск Backup.sh Поскольку он ловит Int, но он останавливается другим сигналом. Это этот сигнал, который я не могу поймать.nohup backup.sh &
(backup.sh &)
backup.sh &
disown
setsid backup.sh
< /code>
Все это безрезультатно. : < /p>
trap 'handle_HUP' INT
trap 'handle_HUP' HUP
trap 'handle_HUP' TERM
trap 'handle_HUP' QUIT
trap 'handle_HUP' EXIT
trap 'handle_HUP' ABRT
trap 'handle_HUP' STOP
< /code>
Возможно, эмуляторы бросают свои собственные SIGS родителю? В любом случае, лучший способ не справиться с этим - это то, чтобы в комплекте отсоединить резервное копирование .sh на первом сигнале int из Steam, когда вы нажимаете «Выйти из игры» < /p>
Я использовал следующий скрипт, чтобы сгенерировать мой Sigcatcher: < /p>
#!/bin/sh
# generate a shell function for each and every available signal.
/bin/kill -l | tr ' ' '\n' |
while read signal; do
cat >sigcatcher.sh
< /code>
и я запускаю его так
sigcatcher.sh> sigcatcher.out < /p>
Подробнее здесь: https://stackoverflow.com/questions/796 ... ble-signal
Создайте отдельный процесс в Linux (Shell), чтобы избежать непревзойденного сигнала ⇐ Linux
1751592822
Anonymous
Контекст: я делаю свой собственный менеджер по сохранению облаков для моих не Steam Games, я в процессе реализации обертки, которая запускает игры, но также загружает файл из облака перед открытием и когда вы даете ей сигнал Shut Down Backsup Save Files. < /p>
В настоящее время в Windows следующий код работает с использованием WSL: < /p>
preaunk_wrapper_windows.shr.shrapper_windows.shr.shr.shrapper_windows.shr.shrapper_windows. class = "Lang-Bash PrettyPrint-Override">#!/bin/bash
path="~/game_save_backups"
handle_HUP()
{
/mnt/c/Windows/system32/cmd.exe backup.bat
exit
}
trap 'handle_HUP' HUP
/mnt/c/Windows/system32/cmd.exe auto_override_load_saves.bat
$1 "$2"
handle_HUP
< /code>
Это используется следующим образом:
lanch_x_game.bat
cd ../game_save_backups/
wsl -e bash -lic "launch_wrapper_windows.sh emulator_path 'game_path'"
< /code>
Теперь та же самая логика не работает на Steam OS (работая Archlinux).
Отправленный сигнал является int, а затем ??? Нет подсказки, я использовал сценарий Sigcatcher, и он в затруднительном положении ничего не возвращал, просто пустой файл < /p>
Так что происходит, нажмите «Стоп в паре» -> int signal для скрипта -> Запуск Backup.sh Поскольку он ловит Int, но он останавливается другим сигналом. Это этот сигнал, который я не могу поймать.nohup backup.sh &
(backup.sh &)
backup.sh &
disown
setsid backup.sh
< /code>
Все это безрезультатно. : < /p>
trap 'handle_HUP' INT
trap 'handle_HUP' HUP
trap 'handle_HUP' TERM
trap 'handle_HUP' QUIT
trap 'handle_HUP' EXIT
trap 'handle_HUP' ABRT
trap 'handle_HUP' STOP
< /code>
Возможно, эмуляторы бросают свои собственные SIGS родителю? В любом случае, лучший способ не справиться с этим - это то, чтобы в комплекте отсоединить резервное копирование .sh на первом сигнале int из Steam, когда вы нажимаете «Выйти из игры» < /p>
Я использовал следующий скрипт, чтобы сгенерировать мой Sigcatcher: < /p>
#!/bin/sh
# generate a shell function for each and every available signal.
/bin/kill -l | tr ' ' '\n' |
while read signal; do
cat >sigcatcher.sh
< /code>
и я запускаю его так
sigcatcher.sh> sigcatcher.out < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/79689601/create-a-detached-process-in-linux-shell-to-avoid-an-uncatchable-signal[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия