Pagina 1 di 1

killare un programma da terminale

Inviato: giovedì 9 agosto 2007, 18:47
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...

Re: killare un programma da terminale

Inviato: giovedì 9 agosto 2007, 18:55
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'.

Re: killare un programma da terminale

Inviato: giovedì 9 agosto 2007, 18:56
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

Re: killare un programma da terminale

Inviato: giovedì 9 agosto 2007, 18:57
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

Re: killare un programma da terminale

Inviato: giovedì 9 agosto 2007, 19:53
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.

Re: killare un programma da terminale

Inviato: giovedì 9 agosto 2007, 20:14
da mirkobob
Nel senso che devo creare un file eseguibile .sh che mi killa il processo .

Re: killare un programma da terminale

Inviato: giovedì 9 agosto 2007, 20:30
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