Разница между программами C и командами оболочки, получающими сигналы от термоблока

Попробуйте HotSSH (найденный в репозиториях). Он очень хорошо управляет соединениями ssh, включая совместное использование соединений. Я не думаю, что он обрабатывает SFTP, хотя, как заметил кто-то другой, вы можете сделать это через Nautilus.

1
задан 27 May 2015 в 02:41

1 ответ

Ваш скрипт logtest.sh записывает только в log и немедленно закрывает дескриптор файла. Поэтому, когда вы вызываете fuser на log.1, процесс не имеет активного файлового дескриптора для этого файла.

Вы можете имитировать это, запустив цикл while внутри list [ ! d1]

(while true; do echo $(date); sleep 1; done) >> log

И оба logtest.sh и logtest.c прекратятся независимо от того, какую SIGNAL вы отправляете, потому что вы не обрабатываете сигнал. С помощью bash это можно сделать с помощью trap '<COMMAND>' USR1 (посмотрите man bash-builtins). Но я не знаю, как это делается на C (никогда не было C).

1
ответ дан 23 May 2018 в 20:13
  • 1
    В C он работает совершенно одинаково. Соответствующей командой для trap является signal(SIGNAL, handler()), где SIGNAL - это сигнал для обработки и обработки - это определенная пользователем функция, которая принимает в качестве параметра int int, соответствующую номеру сигнала. В любом случае спасибо за помощь! – Dav Serf 27 May 2015 в 10:19

Другие вопросы по тегам:

Похожие вопросы: