Как найти родителя процесса

find+awkраствор:

find./backup -type f -exec \
awk 'NR == 1{ if (/StockID.*SellPrice/) print FILENAME; exit }' {} \;

В случае, если порядок ключевых слов может быть другим -, замените шаблон /StockID.*SellPrice/на /StockID/ && /SellPrice/.


В случае большого количества файлов более эффективной альтернативой будет (обработка сразу нескольких файлов;общее количество вызовов команды будет намного меньше, чем количество совпадающих файлов):

find./backup -type f -exec \
awk 'FNR == 1 && /StockID.*SellPrice/{ print FILENAME }{ nextfile }' {} +
-1
06.05.2020, 12:16
3 ответа

Найти родительский процесс для данного процесса:

ps -cp <process_id> -o ppid=""

0
28.04.2021, 23:16

Вы можете использовать pstreeдля просмотра всего дерева процессов.
Если вы хотите использовать /proc, файл /proc/<PID>/task/<PID>/statusсодержит информацию о процессе. Запись PPid— это то, что вы ищете -идентификатор родительского процесса.

0
28.04.2021, 23:16

Чтобы найти родителя процесса, используя только /proc, найдите PPidв статусе соответствующей задачи:

grep PPid /proc/${pid}/task/${pid}/status

(замена двух экземпляров ${pid}дочерним pid ).

0
28.04.2021, 23:16

Теги

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