У меня есть код, который имеет тенденцию к случайному зависанию внутри его «для цикла». Я ищу решение, которое автоматически уничтожит PID сеанса ssh, если он существует в течение 5 секунд. Я сейчас убиваю подвесные процессы вручную, но я хочу поместить это в cron, так что автоматическое убийство PID было бы потрясающе.Убейте процесс, сгенерированный циклом for после определенного времени
for host in `cat $WORKDIR/linux_hosts.txt $WORKDIR/aix_hosts.txt`
do
ssh -o LogLevel=QUIET -o ConnectTimeout=2 -t $host "cat /etc/passwd" >> $FILEDIR/$host
done
Спасибо за помощь!
Я вижу, что вы здесь говорите. Я могу настроить его немного, чтобы убить именно тот процесс, который я хочу. Много моей проблемы было просто не зная, как объединить эти вещи вместе. Я посмотрю, что он делает. Благодаря! – SteveHNH
Изучив это, похоже, что на самом деле он будет спать 5 секунд каждый раз, когда он проходит через цикл. Это значительно увеличит время выполнения скрипта, так как оно превышает 400 раз. Один проход через цикл, как правило, завершается через 1-2 секунды, когда он работает правильно. – SteveHNH
Итак, запустите * all * ssh и убейте всех, которые все еще работают после одного 5-секундного периода. Я обновлю. – chepner