Vraag Hoe dood ik processen in Ubuntu?


Hoe dood ik alle processen die worden uitgevoerd door mijn eigen niet-rootaccount?

Ik heb enkele draaiende smbd-processen die ik van mijn Windows-machine heb veroorzaakt en dus heb ik de linux-server ingekeerd en ik wil die spinprocessen doden. Ik ben niet gemachtigd om de service opnieuw te starten of de machine opnieuw op te starten.


129
2018-02-16 23:49


oorsprong




antwoorden:


Als je alle processen wilt doden waarvoor je toestemming hebt om te doden, voer je gewoon de opdracht uit

kill -15 -1 of kill -9 -1 afhankelijk van het gewenste gedrag (gebruik man kill voor details)

Om een ​​specifiek proces te doden, bijvoorbeeld firefox, gewoon uitvoeren

pkill firefox of killall firefox afhankelijk van het gedrag dat u wilt: Wat is het verschil tussen 'killall' en 'pkill'?

Als u wilt zien welke processen worden uitgevoerd, gebruikt u de opdracht

ps -ef

Als u alle processen per gebruiker wilt opzoeken, kan dit helpen

pgrep -l -u bob

of

ps -ef | grep bob

156
2018-02-16 23:58



Ik zou beginnen kill -15 -1, en alleen verder gaan naar kill -9 -1 als er hardnekkige processen zijn en Ik weet wat ik doe. Het willekeurig doden van processen die zich in het midden van een databasetransactie bevinden, is niet iets wat je zo nonchalant moet doen als je suggereert. - Simon Richter
Het proces van Firefox heeft ook een naam firefox-bin. - Simon Richter
Nee, je kunt proberen te rennen killall firefox en killall firefox-bin en zie wat werkt. Ik ben het eens met uw eerste opmerking. - ste_kwr
Bedankt @ste_kwr, werkte met je instructies, na twee dagen worstelen ... - Java.beginner
Het voordeel van het niet nodig hebben van PID's is in cron-taken. Het gebruik van namen werkt netjes. - SDsolar


Gebruik sudo kill <pid> of sudo killall <process-name>


46
2018-02-16 23:50



Ik denk niet dat dit relevant is voor deze vraag, je gebruikt sudo - het OP heeft niet zulke privileges, zoals vermeld in de vraag. - pl1nk
Het OP heeft geen rechten, bewerk uw antwoord of het kan worden verwijderd of omgezet in een opmerking als "geen antwoord". - ish
Als hij geen privileges heeft moet hij gewoon <pid> of killall <process-name> doden. Ik heb het gewoon in mijn niet-root account gebruikt, ik zou het niet kunnen doen als het niet om dit antwoord was . - Shailyn Ortiz


Laten we iets meer proberen:

sudo apt-get install htop 

De top opdracht is de traditionele manier om het resourcegebruik van uw systeem te bekijken en de processen te bekijken die de meeste systeembronnen in beslag nemen. Top geeft een lijst met processen weer, met degene die de meeste CPU bovenaan gebruiken.

htop geeft dezelfde informatie weer met een gemakkelijk te begrijpen lay-out. Hiermee kunt u ook processen selecteren met de pijltoetsen en acties uitvoeren, zoals ze doden of hun prioriteit wijzigen, met de F sleutels.


19
2018-01-12 04:41



Extreem nuttig. Bedankt - W.Dodge


Je kunt gebruiken

ps -ax | grep application name 

Als je zoekt naar firefox type in terminal zoals ps -ax | grep firefox, het toont de proces-id van de overeenkomstige toepassing. U kunt die toepassing stoppen met kill commando als proces id = 1317,

kill -9 1317

14
2017-07-22 06:21





Ik zou gebruiken xkill. invoeren xkill in een terminal en klik in het venster of voer in xkill en het proces-ID en het zal worden beëindigd.

Meer informatie gekregen over xkill op x.org. 


12
2017-12-27 21:36



Gebruik het tweede in frequentie na pkill en hou ervan. 1 - Sergiy Kolodyazhnyy
xkill werkt in dit geval niet ... - PythoNic
@PythoNic in welk geval is dat? - Alvar
Hij wil een niet-raamproces doden dat ook niet gerelateerd is aan de X-server zoals het voor mij lijkt ... (Hoe dan ook, een goede tool.) - PythoNic


Om alle processen te vernietigen die het eigendom zijn van een gebruiker username, rennen:

pkill -U username

7
2018-02-07 02:30





Ik zou je probleem in twee delen breken:

1) Hoe vind ik de processen die door mij zijn gestart? Voer dit uit:

ps -u `whoami`

De whoami is voor het geval u de naam van het account dat u gebruikt niet kent, of typ gewoon de naam van het account zonder de aanhalingstekens.

Hiermee worden alle processen weergegeven die door uw account kunnen worden verwijderd.

2) Het ps commando toont het procesnummer, de TTY, tijd en CMD. Het proces-ID is de eerste kolom. Gebruik dat nummer om het proces te doden. Wees voorzichtig tijdens het doden van het proces. Je kunt iets breken als je het verkeerde proces doodt. Om een ​​proces te doden, gebruikt u de kill opdracht, die een SIGNAL naar het proces verzendt. Het signaal geeft aan wat het proces is moeten do. Bijvoorbeeld het verzenden van een -1 om het proces zal het vragen om het configuratiebestand opnieuw te laden; verzenden van een -2 is gelijk aan het indrukken van de Control + C op dat proces; -9 zorgt ervoor dat de kernel het proces verlaat, zonder het aan het proces te communiceren.

Stel dat ps -u whoami teruggegeven iets als

  PID TTY          TIME CMD
 4333 pts/1    00:00:00 fish
 4335 ?        00:00:00 fishd
 4816 ?        00:00:00 intellij
 4868 ?        00:50:42 java
 4939 ?        00:00:19 fsnotifier64
 7667 ?        02:49:08 firefox
 7698 ?        00:00:00 unity-webapps-s

En je wilde de firefox proces door zijn proces-ID, dan zou je doen:

kill -1 7667

Dan zou je hetzelfde opnieuw uitvoeren ps opdracht en controleer of het proces nog loopt. Als het nog steeds actief is, doe dan a

kill -2 7667

omhoog werken naar -9.

Als u alle processen wilt stoppen die door uw account zijn gestart, voert u dit in kill <level> -1. Hetzelfde als voorheen: werk je een weg omhoog naar -9.

Als u de naam van het proces kent, kunt u gewoon gaan killall <processname>, waar het is wat je probeert te doden. Bijvoorbeeld: killall fish (vis, in deze zin is de Friendly Interactive SHell).

Documentatie voor killall kan hier worden gevonden: http://manpages.ubuntu.com/manpages/hardy/man1/killall.1.html


5
2018-05-04 23:37