bash script kill whois or other command that is running for too long

Adjust to suit your needs.  Currently this would kill any whois process running for more than 30 seconds or more than 1 minute.

Add it as a cronjob.  The motivation is that some commands have no timeout and just end up using up CPU and memory for no reason while never exiting to free resources.

 

#!/bin/bash
IFS=$(echo -en "\n\b")
for pid in `ps aux|grep whois`; do

    echo "pid=::$pid::"
    id=`echo "$pid"|awk '{print $2}'`
     echo "id=$id"
    runningseconds=`echo "$pid"|awk '{print $10}'|cut -f 2 -d ":"`
    runningminutes=`echo "$pid"|awk '{print $10}'|cut -f 1 -d ":"`

    echo "running seconds=$runningseconds"

    if [ $runningseconds -gt 30 ] || [ $runningminutes -gt 1 ]; then
        echo "seconds running is greater than 30 or minutes greater than 1"
        echo "kill -9 $id"
        kill -9 $id
    fi

done


Tags:

bash, whois, longadjust, currently, cronjob, motivation, commands, timeout, cpu, exiting, bin, ifs, echo, en, quot, pid, ps, aux, grep, awk, runningseconds, runningminutes, fi,

Latest Articles

  • Flash LSI MegaRAID 2208 to IT mode in Linux Mint/Debian/Ubuntu
  • LSI MegaRAID in Linux Ubuntu / Centos Tutorial Setup Guide megacli
  • Convert-im6.q16: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/413. convert-im6.q16: no images defined `pts-time.jpg' @ error/convert.c/ConvertImageCommand/3258. solution ImageMagick P
  • Apache PHP sending expires header solution cannot use cache with CDN
  • How to install virt-manager in Mint 22/Ubuntu 22
  • Infiniband Guide
  • python mysql install error: /bin/sh: 1: mysql_config: not found /bin/sh: 1: mariadb_config: not found /bin/sh: 1: mysql_config: not found mysql_config --version
  • FreePBX 17 How To Add a Trunk
  • Docker Container Onboot Policy - How to make sure a container is always running
  • FreePBX 17 How To Add Phones / Extensions and Register
  • Warning: The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes. solution
  • Cisco How To Use a Third Party SIP Phone (eg. Avaya, 3CX)
  • Cisco Unified Communication Manager (CUCM) - How To Add Phones
  • pptp / pptpd not working in DD-WRT iptables / router
  • systemd-journald high memory usage solution
  • How to Install FreePBX 17 in Linux Debian Ubuntu Mint Guide
  • How To Install Cisco's CUCM (Cisco Unified Communication Manager) 12 Guide
  • Linux Ubuntu Redhat How To Extract Images from PDF
  • Linux and Windows Dual Boot Issue NIC Won't work After Booting Windows
  • Cisco CME How To Enable ACD hunt groups