как правильно узнать все скрипты PIDS, которые выполняются в папке

В bash, dash, zshи, возможно, других оболочках с расширением параметров и предполагая, что только каталоги заканчиваются суффиксом -v4, вы могли бы сделать:

for i in *-v4; do mv "$i" "${i%-v4}"; done
1
05.05.2021, 13:38
1 ответ

Вы могли бы немного подправить команду, но мне кажется, что она уже достаточно точна. Я бы более точно сопоставил имя файла, чтобы уменьшить потенциальные несоответствия, и я бы удостоверился, что каждый PID-кандидат на самом деле был числовым,

lsof | awk -v p='^/home/testing/scripts/' '$9~p && $2+0 {print $2}' | sort -u | xargs echo kill

Обратите внимание на ^в начале назначения каталога переменной awkp. Вы также должны экранировать символы, которые могут быть интерпретированы как часть регулярного выражения (, то есть .должны быть представлены как \., *как \*и т. д.)

Удалите echo, когда будете готовы к тому, чтобы сценарий действительно выполнил операцию уничтожения.

2
28.07.2021, 11:34

Теги

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