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

Ответить
mexx400
Сообщения: 660
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Debian
Откуда: Москва

Теоретический вопрос по 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
-- строка находится условно моментально.
ROSA Fresh 12.3 Plasma [amd64]

Survolog
Сообщения: 367
Зарегистрирован: 30 авг 2016, 22:30
Operating system: ROSA Fresh
Писать в Телеграм или ВК.

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

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

grep -i 'ldac' ./*.*

pkill

mexx400
Сообщения: 660
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Debian
Откуда: Москва

Теоретический вопрос по 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
ROSA Fresh 12.3 Plasma [amd64]

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

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

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

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

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

kill -s 9 PID
$ - команда должна быть выполнена от имени непривилегированного пользователя,
# - команда должна быть выполнена от имени суперпользователя.

mexx400
Сообщения: 660
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Debian
Откуда: Москва

Теоретический вопрос по 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'?
ROSA Fresh 12.3 Plasma [amd64]

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

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

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

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

mexx400
Сообщения: 660
Зарегистрирован: 13 окт 2013, 16:06
Operating system: Debian
Откуда: Москва

Теоретический вопрос по 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' понять.
ROSA Fresh 12.3 Plasma [amd64]

Ответить

Вернуться в «Обсуждение ROSA Fresh R9-R11.1 (платформа 2016.1)»