Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di MrX87
    Registrato dal
    Jun 2007
    Messaggi
    500

    [bash] leggere da file con read

    Ciao a tutti stavo cercando di fare uno script bash che controlla se ci sono dei processi che superano il 50% di utilizzo della cpu, in caso positivo li termina tramite il comando kill.
    Per sapere i processi in quel momento basta redirigere l'output del comando ps -aux su un file e poi leggere da questo stesso file.
    Riporto qua sotto un pezzo del file di input dato dal comando ps -aux(anche se non ha una formattazione comprensibile):

    USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
    root 1 0.0 0.1 2528 1408 ? Ss 12:24 0:00 /sbin/init
    root 2 0.0 0.0 0 0 ? S< 12:24 0:00 [kthreadd]
    root 3 0.0 0.0 0 0 ? S< 12:24 0:00 [migration/0]
    root 4 0.0 0.0 0 0 ? S< 12:24 0:00 [ksoftirqd/0]

    Avendo questo tipo di file in input a me serve solo leggere l'user il pid ( necessario per poter dare il comando kill) e il valore d cpu; confrontare se questo valore è maggiore di 50 (anche se non so come gestire la virgola) e se è maggiore killarlo.

    Posto qua sotto quello che mi è venuto in mente per fare questo script:

    codice:
    #!/bin/bash
    
    while true 
    do 
    	sleep 15
    	ps -aux > tmp
    	read line
    	while read user pid cpu others < tmp
    	do 
    	if [ $cpu -gt 50 ]
    	then 
    	kill -9 $pid
    	fi
    	done
    done
    "Non può piovere per sempre" Il Corvo
    Forza Vigor!

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    225
    dai una occhiata a awk

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.