Теоретический вопрос по grep и завершению процесса

Ответить
mexx400
Сообщения: 403
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Ноутбук MSI & ROSA R10 Plasma [amd64] & Debian 8 MATE [amd64]

Теоретический вопрос по grep и завершению процесса

Сообщение mexx400 » 09 ноя 2018, 17:34

Здравствуйте. ROSA10/64/Plasma.
В одном из файлов текущего каталога (содержащего и файлы, и подкаталоги) заведомо существует строка, содержащая слово LDAC.
Ищу:

Код: Выделить всё

grep -i ldac
Поиск зависает от слова совсем. Вопрос #1 - почему зависает?
Далее. Если приостановить процесс Ctrl+z то он:

Код: Выделить всё

7243 pts/2 00:00:00 grep
Однако после:

Код: Выделить всё

kill 7243
-- ничего не происходит -- процесс остается приостановленным. Вопрос #2 - почему не могу убить процесс?
Если поиск сделать:

Код: Выделить всё

grep -ir ldac
-- строка находится условно моментально.
Debian 8 MATE [amd64]
ROSA Desktop R10 Plasma [amd64] *4
ROSA Desktop R10 Plasma [x86]

Survolog
Сообщения: 118
Зарегистрирован: 30 авг 2016, 22:30
Operating system: ROSA Fresh

Теоретический вопрос по grep и завершению процесса

Сообщение Survolog » 11 ноя 2018, 04:22

grep -i 'ldac' ./*.*

pkill

mexx400
Сообщения: 403
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Ноутбук MSI & ROSA R10 Plasma [amd64] & Debian 8 MATE [amd64]

Теоретический вопрос по grep и завершению процесса

Сообщение mexx400 » 11 ноя 2018, 16:54

Survolog писал(а):
11 ноя 2018, 04:22
grep -i 'ldac' ./*.*
КАК найти я знаю, поэтому и вопрос теоретический - ПОЧЕМУ? :)
То есть, как мне казалось, без параметра 'r' grep должен осуществить поиск по файлам текущего каталога, исключая подкаталоги. Или выдать какую-то явную ошибку. Но не молча зависать. Или я не прав?
Survolog писал(а):
11 ноя 2018, 04:22
pkill
Не убивается процесс:

Код: Выделить всё

ps
PID TTY          TIME CMD
14534 pts/2    00:00:00 bash
14653 pts/2    00:00:00 grep
14693 pts/2    00:00:00 ps

Код: Выделить всё

pkill 14653

Код: Выделить всё

ps
PID TTY          TIME CMD
14534 pts/2    00:00:00 bash
14653 pts/2    00:00:00 grep
14837 pts/2    00:00:00 ps
Debian 8 MATE [amd64]
ROSA Desktop R10 Plasma [amd64] *4
ROSA Desktop R10 Plasma [x86]

va9(2)
Сообщения: 132
Зарегистрирован: 20 окт 2015, 08:06
Operating system: RF.KDE5.R10.x86_64, RF.KDE4.R8.x86_64

Теоретический вопрос по grep и завершению процесса

Сообщение va9(2) » 12 ноя 2018, 02:39

mexx400 писал(а):
11 ноя 2018, 16:54
Не убивается процесс
А так?

Код: Выделить всё

kill -s 9 PID

mexx400
Сообщения: 403
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Ноутбук MSI & ROSA R10 Plasma [amd64] & Debian 8 MATE [amd64]

Теоретический вопрос по grep и завершению процесса

Сообщение mexx400 » 12 ноя 2018, 04:17

va9(2) писал(а):
12 ноя 2018, 02:39
А так?
А так убивает, спасибо!

Код: Выделить всё

ps
PID TTY          TIME CMD
13181 pts/1    00:00:00 bash
13337 pts/1    00:00:00 grep
13899 pts/1    00:00:00 ps

Код: Выделить всё

kill -s 9 13337
[1]+  Убито              grep --color -i ldac
А разве "безусловное завершение" не дефолтный сигнал для 'kill'?
Debian 8 MATE [amd64]
ROSA Desktop R10 Plasma [amd64] *4
ROSA Desktop R10 Plasma [x86]

notauser
Сообщения: 1172
Зарегистрирован: 06 май 2012, 21:00

Теоретический вопрос по grep и завершению процесса

Сообщение notauser » 12 ноя 2018, 21:33

SIGTERM и в kill и в pkill если ничего не указано явно. А не SIGKILL. А процесс остановлен.

mexx400
Сообщения: 403
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Ноутбук MSI & ROSA R10 Plasma [amd64] & Debian 8 MATE [amd64]

Теоретический вопрос по grep и завершению процесса

Сообщение mexx400 » 12 ноя 2018, 22:37

notauser писал(а):
12 ноя 2018, 21:33
SIGTERM ... А не SIGKILL. А процесс остановлен.
Да, всё ясно, спасибо.
If no signal is specified, the TERM signal is sent. This TERM signal will kill processes that do not catch it; for other processes it may be necessary to use the KILL signal (number 9), since this signal cannot be caught.
Еще бы про 'grep' понять.
Debian 8 MATE [amd64]
ROSA Desktop R10 Plasma [amd64] *4
ROSA Desktop R10 Plasma [x86]

Ответить