killare un programma da terminale

Installazione, configurazione e uso di programmi e strumenti.
Avatar utente
mirkobob
Prode Principiante
Messaggi: 86
Iscrizione: sabato 26 novembre 2005, 18:31

killare un programma da terminale

Messaggio da mirkobob »

Ciao come si killa un programma da console ?

Per esempio ho fatto partire un file .sh da connessione ssh ma una volta partito come lo posso killare?

Se faccio kill -l non mi pare di vedere il server di gioco che ho fatto partire.. e quindi di poterlo killare...

Scusate ma sono nabbo...
Alepp0
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 351
Iscrizione: martedì 20 febbraio 2007, 14:26

Re: killare un programma da terminale

Messaggio da Alepp0 »

ogni programma in linux è un processo, tutti figli di init, che è il processo padre: rintraccia il PID del processo con il comando 'ps aux', poi scrivi 'kill -9 PID'.
Summum jus, summa injuria.
Avatar utente
maxfact
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3208
Iscrizione: domenica 28 gennaio 2007, 20:12

Re: killare un programma da terminale

Messaggio da maxfact »

con il comando ps -ax
trovi i processi attivi
dopo con
kill -9 pid-della-applicazione
fermi il processo che vuoi

il pid è un numero che identifica il processo es:

Codice: Seleziona tutto

PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:01 /sbin/init
    2 ?        S      0:00 [migration/0]
    3 ?        SN     0:00 [ksoftirqd/0]
    4 ?        S      0:00 [watchdog/0]
    5 ?        S      0:00 [migration/1]
    6 ?        SN     0:00 [ksoftirqd/1]
    7 ?        S      0:00 [watchdog/1]
    8 ?        S<     0:00 [events/0]
    9 ?        S<     0:00 [events/1]
   10 ?        S<     0:00 [khelper]
   11 ?        S<     0:00 [kthread]
   35 ?        S<     0:00 [kblockd/0]
   36 ?        S<     0:00 [kblockd/1]
   37 ?        S<     0:00 [kacpid]
   38 ?        S<     0:00 [kacpi_notify]
  138 ?        S<     0:00 [kseriod]
  165 ?        S      0:00 [pdflush]
  166 ?        S      0:00 [pdflush]
  167 ?        S<     0:00 [kswapd0]
  168 ?        S<     0:00 [aio/0]
  169 ?        S<     0:00 [aio/1]
  806 ?        S      0:00 [kirqd]
 2012 ?        S<     0:00 [ksuspend_usbd]
 2013 ?        S<     0:00 [khubd]
 2105 ?        S<     0:00 [ata/0]
 2106 ?        S<     0:00 [ata/1]
 2107 ?        S<     0:00 [ata_aux]
 2159 ?        S<     0:03 [scsi_eh_0]
 2160 ?        S<     0:00 [scsi_eh_1]
 2194 ?        S<     0:00 [scsi_eh_2]
 2195 ?        S<     0:00 [scsi_eh_3]
 2205 ?        S<     0:00 [scsi_eh_4]
 2206 ?        S<     0:00 [scsi_eh_5]
 2486 ?        S<     0:00 [kjournald]
 2685 ?        S<s    0:00 /sbin/udevd --daemon
 3693 ?        S<     0:00 [kpsmoused]
 3790 ?        S<     0:00 [hda_codec]
 4511 tty4     Ss+    0:00 /sbin/getty 38400 tty4
 4512 tty5     Ss+    0:00 /sbin/getty 38400 tty5
 4514 tty2     Ss+    0:00 /sbin/getty 38400 tty2
 4516 tty3     Ss+    0:00 /sbin/getty 38400 tty3
 4518 tty1     Ss+    0:00 /sbin/getty 38400 tty1
 4519 tty6     Ss+    0:00 /sbin/getty 38400 tty6
 4777 ?        Ss     0:00 /usr/sbin/acpid -c /etc/acpi/events -s /var/run/acpid
 4892 ?        Ss     0:00 /sbin/syslogd
 4950 ?        Ss     0:00 /bin/dd bs 1 if /proc/kmsg of /var/run/klogd/kmsg
 4952 ?        Ss     0:00 /sbin/klogd -P /var/run/klogd/kmsg
 4973 ?        Ss     0:00 /usr/bin/dbus-daemon --system
 4989 ?        Ss     0:00 /usr/sbin/hald
 4990 ?        S      0:00 hald-runner
 4996 ?        S      0:00 hald-addon-keyboard: listening on /dev/input/event1
 4997 ?        S      0:00 hald-addon-keyboard: listening on /dev/input/event4
 4998 ?        S      0:00 hald-addon-keyboard: listening on /dev/input/event5
 5001 ?        S      0:00 hald-addon-acpi: listening on acpid socket /var/run/a
 5018 ?        S      0:00 hald-addon-storage: polling /dev/scd0 (every 2 sec)
 5020 ?        S      0:04 hald-addon-storage: polling /dev/scd1 (every 2 sec)
 5033 ?        Ss     0:00 /usr/sbin/dhcdbd --system
 5048 ?        Ssl    0:00 /usr/sbin/NetworkManager --pid-file /var/run/NetworkM
 5066 ?        Ss     0:00 avahi-daemon: registering [max-desktop.local]
 5067 ?        Ss     0:00 avahi-daemon: chroot helper
 5082 ?        Ss     0:00 /usr/sbin/NetworkManagerDispatcher --pid-file /var/ru
 5096 ?        Ss     0:00 /usr/bin/system-tools-backends
 5097 ?        S      0:00 dbus-daemon --session --print-address --nofork
 5134 ?        Ss     0:00 /usr/sbin/cupsd
 5158 ?        Ss     0:00 /usr/sbin/hpiod
 5175 ?        S      0:00 python /usr/sbin/hpssd
 5297 ?        S      0:00 /sbin/dhclient -1 -lf /var/lib/dhcp3/dhclient.eth0.le
 5334 ?        Ss     0:00 /usr/sbin/gdm
 5335 ?        S      0:00 /usr/sbin/gdm
 5340 tty7     Ss+    8:21 /usr/X11R6/bin/X :0 -br -audit 0 -auth /var/lib/gdm/:
 5395 ?        Ss     0:00 /usr/sbin/hcid -x -s
 5418 ?        S<     0:00 [krfcommd]
 5453 ?        Ss     0:00 /usr/sbin/atd
 5467 ?        Ss     0:00 /usr/sbin/cron
 5570 ?        Ssl    0:00 x-session-manager
 5611 ?        Ss     0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-s
 5614 ?        S      0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/sea
 5615 ?        Ss     0:00 /usr/bin/dbus-daemon --fork --print-pid 4 --print-add
 5617 ?        S      0:00 /usr/lib/libgconf2-4/gconfd-2 13
 5623 ?        Ss     0:00 /usr/bin/seahorse-agent --execute x-session-manager
 5640 ?        S      0:00 /usr/bin/gnome-keyring-daemon
 5642 ?        Sl     0:00 /usr/lib/control-center/gnome-settings-daemon
 5649 ?        Ss     0:00 /bin/sh -c /usr/bin/esd -terminate -nobeeps -as 1 -sp
 5650 ?        S      0:00 /usr/bin/esd -terminate -nobeeps -as 1 -spawnfd 24
 5657 ?        S      0:05 gnome-panel --sm-client-id default1
 5663 ?        S      0:06 nautilus --no-default-window --sm-client-id default2
 5666 ?        Ssl    0:00 /usr/lib/bonobo-activation/bonobo-activation-server -
 5667 ?        Ss     0:00 gnome-volume-manager --sm-client-id default4
 5681 ?        S      0:00 /usr/lib/gnome-vfs-2.0/gnome-vfs-daemon
 5691 ?        S      0:00 python /usr/bin/fusion-icon
 5695 ?        S      0:00 update-notifier
 5701 ?        Sl     0:00 /usr/lib/evolution/2.10/evolution-alarm-notify
 5703 ?        S      0:00 nm-applet --sm-disable
 5704 ?        S      0:08 gnome-cups-icon --sm-client-id default3
 5705 ?        Ss     0:00 gnome-power-manager
 5712 ?        S      0:00 /usr/lib/gnome-applets/trashapplet --oaf-activate-iid
 5714 ?        S      0:00 /usr/lib/nautilus-cd-burner/mapping-daemon
 5737 ?        Sl     0:00 /usr/lib/evolution/2.10/evolution-exchange-storage --
 5775 ?        Sl     0:00 /usr/lib/evolution/evolution-data-server-1.10 --oaf-a
 5790 ?        S      0:00 /usr/lib/gnome-applets/mixer_applet2 --oaf-activate-i
 5828 ?        S      0:00 /bin/sh -c emerald --replace
 5829 ?        S      0:03 emerald --replace
 5850 ?        Ss     0:02 gnome-screensaver
 6224 ?        Z      0:00 [metacity] <defunct>
 7189 ?        S      0:10 compiz.real --replace --sm-disable --ignore-desktop-h
 7212 ?        S      0:01 avant-window-navigator
 7214 ?        S      0:00 Trash Applet tivation -p /usr/lib/awn/applets/trash.d
 7296 ?        Ss     0:00 /usr/sbin/pppd call dsl-provider
 7315 ?        Sl     1:40 /usr/lib/firefox/firefox-bin
 8274 ?        Sl     0:00 gnome-terminal
 8276 ?        S      0:00 gnome-pty-helper
 8277 pts/0    Ss     0:00 bash
 8296 pts/0    R+     0:00 ps ax

poi fai
kill -9 1 oppure
kill -9 8296

edit
ops scusa Alepp0 postato quasi assieme  :P
Massimiliano Ubuntu user # 16155
Potrete ingannare tutti per un po'. Potrete ingannare qualcuno per sempre.
Ma non potrete ingannare tutti per sempre [Abramo Lincoln]
Avatar utente
nep87
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 555
Iscrizione: martedì 13 dicembre 2005, 19:15

Re: killare un programma da terminale

Messaggio da nep87 »

ogni programma in linux è un processo, tutti figli di init, che è il processo padre: rintraccia il PID del processo con il comando 'ps aux', poi scrivi 'kill -9 PID'.
Oppure

Codice: Seleziona tutto

ps -e
che ti fornisce una lista dei processi in esecuzione e poi

Codice: Seleziona tutto

killall nome_processo
per terminarlo.

ciao
It's only software, but I like it.
http://www.lastfm.it/user/tangonelfango
Avatar utente
mirkobob
Prode Principiante
Messaggi: 86
Iscrizione: sabato 26 novembre 2005, 18:31

Re: killare un programma da terminale

Messaggio da mirkobob »

Ok ho capito... con kill me lo uccide di brutto.  Usando invece killall nomeprocesso non va bene perche' mi si rigenera...

In quanto il programma ha un sistema anticrash attivo che ne garantisce il ripristino riavviandosi. Quindi con kill -9 xxxx mi killa del tutto.

Pero' io dovrei fare una cosa piu' particolare e cioe' devo far partire piu' processi di questo genere e mi serve killarli in modo preciso... da web.... quindi mi serve un comando che killa il processo prestabilito' . 

Non sono sicuro che il processo parta sempre con lo stesso cosice identificativo... quindi mi chiedo se ci fosse un altro modo'. 

Altra cosa... il processo in questione ha una sua console che risponde a determinati comandi. Mi sapreste dire come entrarci in questa console? e cioe' entrare nel processo da terminale.
Avatar utente
mirkobob
Prode Principiante
Messaggi: 86
Iscrizione: sabato 26 novembre 2005, 18:31

Re: killare un programma da terminale

Messaggio da mirkobob »

Nel senso che devo creare un file eseguibile .sh che mi killa il processo .
saxtro
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 2982
Iscrizione: domenica 4 giugno 2006, 13:16
Distribuzione: Kubuntu 20.04

Re: killare un programma da terminale

Messaggio da saxtro »

Codice: Seleziona tutto

#! /bin/sh
echo 'inserisci il nome del programma da uccidere'
read PROGRAMMA
PROCESSO=$(ps ax | grep $PROGRAMMA | awk '{ print $1 }')
kill -9 $PROCESSO
se devi uccidere amule tenuto su con un ciclo while do devi prima uccidere il ciclo
Scrivi risposta

Ritorna a “Applicazioni”

Chi c’è in linea

Visualizzano questa sezione: Majestic-12 [Bot] e 7 ospiti