NOME
skill, snice − invia un signal o cambia la priorità ai processi specificati
SINTASSI
skill
[−signal] [−ivfwn] {tty utente comando pid}
snice [(−|+)priorità] [−ivfwn] {tty
user command pid}
skill −l
DESCRIZIONE
Skill invia il signal terminate a un insieme di processi. Se è specificato un nome di un signal (o un numero) preceduto da un ’-’, allora sarà sostituito quel signal a terminate. Il comando ’skill -l’ mostra una lista dei signal disponibili.
Snice altera la priorità di scheduling dei processi selezionati. Di default, la nuova priorità è +4, ma un argomento del tipo ’+n’ (o ’-n’) può essere usato per specificare un diverso valore. Un priorità non valida è silenziosamente arrotondata al primo valore accettabile.
Le opzioni accettate da entrambi i comandi sono le seguenti:
−i |
In modo interattivo, è chiesto all’utente la conferma per ogni processo candidato all’azione. Rispondendo ’y’ l’azione sarà portata a termine. Inoltre, un ^D a questo prompt causa la terminazione immediata di skill o snice. | ||
−v |
In modo verbose, è mostrato l’id di ogni processo su cui si fa l’azione. | ||
−f |
In modo fast, è permesso al codice dipendente dalla macchina responsabile della lettura dei processi di prendere decisioni per incrementare la velocità a spese del reporting degli errori (p.es. i comandi possono non essere mostrati). Questa opzione esiste principalmente per poter killare processi in esecuzione su sistemi operativi con design della VM complicato. | ||
−w |
Mostra messaggi di warning per i processi non ’’raggiungibili’’. | ||
−n |
Mostra i process id ma non fa niente. |
Tutti gli argomenti della linea di comando sono indipendenti dall’ordine. Skill e snice permettono di specificare i processi con una qualsiasi combinazione di tty, nomi di utenti, e comandi (o anche i process id). Verranno intraprese azioni solo sui processi che corrispondono a qualcosa in ogni categoria. Una categoria vuota garantisce la corrispondenza. Per esempio, ’skill -HUP vi ex tty00’ manderà il signal hangup a tutti i processi vi(1) e ex(1) associati con la tty00. Similmente, ’snice +10 find root’ cambierà a +10 la priorità di tutti i processi find(1) di proprietà di root.
Utenti non privilegiati possono modificare solo i processi di loro proprietà, quindi non hanno necessità di specificare il loro nome utente nella lista degli argomenti. D’altra parte, il superuser dovrebbe essere molto cauto (p.es. il comando ’snice -5 vi’ cambierà la priorità di tutti i processi vi(1) nel sistema).
Poiché skill e snice categorizzano i loro argomenti, c’è la possibilità che commettano errori nel farlo (p.es. un comando di sistema è anche il nome di un utente). Entrambi i programmi provano a far corrispondere un argomento con una tty, un nome utente, e un process id, prima di classificarlo come un comando. Per ovviare a questo, un argomento può essere forzato a un tipo particolare precedendolo con "-c" (comando), "-u" (utente), "-t" (tty), o "-p" (process id).
I process id non sono noti in anticipo, così si deve esaminare sia la kernel memory che lo swap device per cercare le informazioni richieste. In alternativa, su alcuni sistemi, è esaminato il file system "/proc". Quando è trovato un processo corrispondente a ogni categoria, è immediatamente eseguita l’azione (finché non si è in modo interattivo). I processi devono appartenere all’utente corrente a meno che non sia il superuser. Entrambi i programmi non possono far niente su se stessi, ma ogni altro rispetta le regole.
Lo stato d’uscita è normalmente 0; se l’utente commette un errore, è ritornato 1. Se avviene un errore di sistema, lo stato d’uscita è 2.
FILE
/vmunix system
name list
/dev/mem memoria fisica
/dev/kmem kernel virtual memory
/dev/drum swap device
/proc process file system
/dev esaminata per mappare tty in device number
VEDERE ANCHE
kill(1),
nice(1), priocntl(1), renice(1), ps(1),
kill(2), setpriority(2), signal(2), proc(4)
AUTORE
Jeff Forys
COLLABORATORI
David Sharnoff
Greg Earle Christos Zoulas
Gorodecki Tom Mike Hibler Ric Anderson
BACHI
Le cose cambiano mentre questi processi sono in esecuzione, e qualche volta possono essere persi processi (il flag ’-w’ li mostra).
I nomi dei comandi possono essere troncati a dimensioni dipendenti dalla macchina.
Su alcuni sistemi operativi, questi programmi non sono capaci di analizzare i processi appartenenti ad altri utenti. Sebbene non sia un problema, questo fatto causa la notifica "(but N could not be checked)", dopo il messaggio "no matching processes".