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
che ti fornisce una lista dei processi in esecuzione e poi
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