Есть ли безопасный кот?

спасибо всем за участие и комментарии. Один дополнительный элемент ввода, который я не упомянул, — это префикс, который разделяет типы процессов, поэтому они не просто «BOX». Пример ввода ps

BOX.CC_Container_Philips1_Primary_X1
BOX.CC_Container_Philips_Primary_X1
BOX.CC_Container_Philips3_Primary_X1
BOX.Container_Server1_X1
BOX.Container_Node1_X1
BOX.Container_Host1_X1
BOX.Container_ClockService1_X1
BOX.Container_ClockService2_X1

так что в итоге я написал условное выражение, основанное на типе (это "CC" или нет? ), а затем запустить отдельные циклы. Может быть, это не лучший метод, но он работает.

#name = list of process names from SQL, parsed into an array
type=$(echo "${name}" | awk -F"_" '{print $1}')
if [[ "${type}" == "CC" ]]; then
while read -r line
do
  running+=("${line}")
done < <(ps -u esmadmin -f | grep "${DOMAIN}.${name}_" | grep -v grep)
else 
  while read -r line
  do
  running+=("${line}")
done < <(ps -u esmadmin -f | grep "${DOMAIN}.${name}" | grep -v grep)
fi
1
17.04.2020, 11:13
1 ответ

Вместо этого я бы использовал less, который предупреждает о двоичных файлах и в некоторых системах может обрабатывать различные типы (, например. в CentOS 7 я могу сделать less file.rpmи посмотреть файлы в RPM ). Кажется, это называется "lesspipe".

Кроме того, в следующий раз, когда это произойдет, вы можете попытаться stty saneвернуться к нормальной жизни.

4
28.04.2021, 23:18

Теги

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