Вопросы с тегом «signals»

16
Почему функция fork () была разработана для возврата файлового дескриптора?

На его веб - странице о с трюком собственной трубы , Dan Bernstein объясняет состояние гонки с select()и сигналами, предлагает обходной путь и приходит к выводу , что Конечно, правильно было бы fork()возвращать дескриптор файла, а не идентификатор процесса. Что он подразумевает под этим - это...

16
Кто решает, какое приложение получает сигнал с клавиатуры?

Мое текущее понимание сигналов от клавиатуры в терминале (в значительной степени основанное на попытке сопоставить мои наблюдения с тем, что можно найти в Google) следующее: Пользователь нажимает Cc Это отправляется во входной буфер терминала в виде байта, который вычисляется путем очистки 2...

15
Ctrl-C с двумя одновременными командами в bash

Я хочу запустить две команды одновременно в bash на машине с Linux. Поэтому в моем ./execute.shскрипте Bash я положил: command 1 & command 2 echo "done" Однако когда я хочу остановить скрипт bash и нажать Ctrl+ C, останавливается только вторая команда. Первая команда продолжает работать. Как...

15
Запустите фоновый процесс из скрипта и управляйте им, когда скрипт закончится

Я хотел бы запустить и настроить процесс аналогично демону из скрипта. Моя оболочка эмулируется Zsh под Cygwin, а демон - SFK , базовый FTP-сервер. Что важно здесь, сценарий startserv.shможет быть составлен следующим образом: #!/bin/sh read -s -p "Enter Password: " pw user=testuser share=/fshare...

15
Обновление истории bash на других терминалах при выходе из одного терминала

Я знаю, что этот вопрос не является неясным, так как он задается здесь, обновлять (и дублировать здесь). То, что я пытаюсь достичь, немного другое. Мне не нравится идея моей подсказки переписывать файл каждый раз, когда lsя печатаю ( history -a; history -c; history -r). Я хотел бы обновить файл при...

14
Сохранить коды выхода при захвате SIGINT и подобных?

Если я использую, trapкак описано, например, на http://linuxcommand.org/wss0160.php#trap, чтобы перехватить ctrl-c (или подобный) и выполнить очистку перед выходом, то я изменяю возвращенный код выхода. Теперь это, вероятно, не будет иметь значения в реальном мире (например, потому что коды выхода...

14
Есть ли способ сказать, был ли сценарий оболочки убит с сигналом 9

У меня есть скрипт bash (вызываемый из Java-программы), который постоянно убивают. Я всегда ловлю signal 15с, trapно потом приходит какой-то другой сигнал, который я подозреваю, signal 9но я в основном слеп, чтобы понять, действительно ли это signal 9. Я знаю, что вы не можете trap signal 9, так...

14
В чем разница между Ctrl-Z и kill -STOP?

Когда я запускаю команду ( makeдля большого проекта) из оболочки, я могу нажать Ctrl-Z, чтобы остановить процесс и вернуться в оболочку. Впоследствии я могу бежать, fgчтобы продолжить процесс. Я пытаюсь написать сценарий оболочки, чтобы автоматизировать это (в частности, проверять температуру моего...

14
Являются ли сигналы EXIT, DEBUG, RETURN и ERR?

trapВстроенный в Баш имеет следующий синтаксис trap [-lp] [arg] [sigspec ...] ... Каждый из них sigspecявляется либо именем сигнала, либо номером сигнала. Имена сигналов нечувствительны к регистру, а префикс SIG является необязательным. ... Баш вручную указывает, что sigspecможет быть EXIT, DEBUG,...

14
Телнет отправить Ctrl-C

Я использую telnet для подключения к терминальному серверу, который передает трафик на порт RS-232. К сожалению, при использовании некоторых устройств невозможно отправить символ CTRL+ C(0x03). Вместо передачи символа, кажется, что локальный клиент ловит нажатие клавиши, и я остаюсь в "некотором...

13
Контроль, какой процесс отменяется с помощью Ctrl + C

У меня есть live CD, который загружается в Linux и запускает небольшой скрипт Bash. Скрипт ищет и запускает вторую программу (обычно это скомпилированный бинарный файл C ++). Вы должны быть в состоянии прервать вторую программу, нажав Ctrl+ C. Что должно произойти, так это то, что вторая программа...

13
Отменить завершение, но только завершение, в zsh

Когда функция завершения занимает много времени, я могу прервать ее , нажав Ctrl+ C(клавиша прерывания терминала, отправляет SIGINT) или Ctrl+ G(привязано к send-break). Затем я остался с незавершенным словом. Тем не менее, если мне случится нажать Ctrl+ Cили Ctrl+, Gкак только завершится функция...

13
Почему мой wget не умер после потери соединения ssh?

Я sshподошел к своему серверу и побежал, wget -r -np zzz.aaa/bbb/cccи он начал работать. Затем мое интернет-соединение (в моем доме) было прервано, и я забеспокоился, предполагая, что wgetэто произошло, hupпотому что sshсоединение было потеряно, и поэтому терминал умер. Но затем я sshотправился на...

13
Как приостановить и возобновить процессы, как это делает bash

этот вопрос является продолжением: как приостановить и возобновить процессы Я запустил firefox из сессии bash в gnome-терминал. Дерево процессов выглядит так: $ ps -e -o pid,ppid,cmd -H 1828 1 gnome-terminal 26677 1828 bash 27980 26677 /bin/sh /usr/lib/firefox-3.6.15/firefox 27985 27980 /bin/sh...

12
Что конкретно означает команда pkill -USR1 -n -x dd?

Я использую ddдля передачи по сети образ диска на SD-карту на моем BeagleBone. Использование pkill -USR1 -n -x ddв ssh-соединении с этим BeagleBone дает мне обновление статуса процесса передачи, и это здорово. Мне просто любопытно, как это на самом деле работает, поэтому я могу эффективно...

12
SIGINFO в GNU Linux (Arch Linux) отсутствует

Я занимаюсь разработкой приложения и хочу, чтобы оно выводило статистику времени выполнения на консоль по требованию. killи сигналы сразу же пришли мне в голову. Чтение сигналов Unix в Wiki, SIGINFOпохоже, путь, потому что: Он предназначен для этих целей Не завершает процесс, если обработчик...

12
Эквивалент «truss -T» и «truss -U» в Linux?

Есть ли эквивалент того, что делает -Tи -Uвариант trussутилиты Solaris в Linux. Они должны указывать системный вызов ( -T) или библиотечную функцию ( -U), которая при вызове отслеживаемым приложением приведет к его остановке. Или, в противном случае, я бы хотел, чтобы любой процесс, запущенный...

12
Как эмуляторы терминала могут убивать своих детей после получения SIGKILL?

Из того, что я понимаю, SIGKILL не может быть пойман. Это может означать, что процесс не успевает убить своих детей, прежде чем ОС уничтожит его. Это можно продемонстрировать с помощью сценария оболочки. #! /bin/bash trap : SIGTERM SIGINT SIGKILL # SIGKILL is pointless. mplayer video.avi Убивая его...