Når man arbejder med Linux-systemer, er overvågning af kørende processer en fundamental opgave. Traditionelt set har den mest almindelige måde at gøre dette på været med ps-kommandoen (process status). Mens ps er en klassiker og et pålideligt værktøj, kan dens output til tider virke spartansk og svært at overskue, især på systemer med mange kørende processer. Dette har skabt et behov for mere moderne og brugervenlige alternativer, og her kommer procs ind i billedet som et fremragende valg.

procs er designet som en erstatning for den originale Linux ps-kommando. Ligesom ps viser procs information om de aktive processer, der kører på systemet, herunder deres CPU- og hukommelsesforbrug. Men procs tager dette et skridt videre ved at forbedre outputtet markant med yderligere kolonner, et intuitivt farveskema og andre nyttige funktioner, der gør procesovervågning både nemmere og mere informativ.
Hvad er procs?
procs er et open source-værktøj, der er udviklet som en moderne erstatning for ps-kommandoen. Det er skrevet i programmeringssproget Rust, som er kendt for sin ydeevne, sikkerhed og vedligeholdelighed. procs understøttes fuldt ud på Linux og har eksperimentel understøttelse på macOS og Windows-systemer med visse begrænsninger. Denne brede kompatibilitet gør det til et alsidigt værktøj for systemadministratorer og udviklere på tværs af forskellige platforme.
Fordele og Funktioner ved procs
procs skiller sig ud fra ps ved at tilbyde en række forbedringer og yderligere funktioner. Her er nogle af de vigtigste højdepunkter og fordele:
- Standardvisning: Som standard viser procs de mest essentielle oplysninger: Process ID (PID), Bruger, CPU-brug, Hukommelsesbrug, CPU-tid og kommandonavnet. Dette giver et hurtigt og klart overblik.
- Yderligere Information: procs kan vise information, der ikke er umiddelbart tilgængelig i standard
ps. Dette inkluderer specifikke kolonner som TCP- eller UDP-porte, læse-/skrivegennemstrømning og detaljer om virtuelt hukommelsesforbrug (VmSize, VmData, etc.). Disse ekstra data kan være afgørende for fejlfinding og performance-analyse. - Docker-understøttelse: procs har indbygget understøttelse for at vise processer relateret til Docker-containere, hvilket er en stor fordel i moderne containeriserede miljøer.
- Farvekodet Output: Outputtet præsenteres i et farvekodet og mere menneskeligt læsbart format. Dette visuelle element gør det meget hurtigere at identificere forskellige typer af processer eller kritisk information.
- Konfiguration: En konfigurationsfil (
config.toml) giver brugerne mulighed for at tilpasse visningen, vælge hvilke kolonner der skal vises som standard, og ændre farveskemaet. Dette giver en høj grad af fleksibilitet til at skræddersy værktøjet til specifikke behov. - Træ-visning: procs understøtter træ-visning, hvor underprocesser vises som grene under deres overordnede proces. Dette er utroligt nyttigt for at forstå processernes hierarki og relationer.
- Paginering: Værktøjet tilbyder paginering, så brugerne kan inspicere outputtet side for side. Dette er særligt nyttigt, når der er et meget stort antal processer.
- Søgning: procs tillader søgning efter nøgleord på tværs af flere kolonner. Dette gør det nemt at filtrere listen og hurtigt finde specifikke processer baseret på navn, bruger eller andre kriterier. Logiske operatorer som AND og OR kan bruges til at kombinere søgetermer.
- 'Watch' Tilstand: procs har en 'watch mode', som minder meget om Linux
top-kommandoen. Denne tilstand giver en realtidsvisning af processer, der opdateres med et bestemt interval. - Tastaturgenveje: Værktøjet har yderligere tastaturgenveje, der ikke findes i
ps, hvilket forbedrer interaktiviteten i 'watch' tilstanden og pagineringen.
procs vs. ps: En Sammenligning
procs-værktøjet er bevidst designet til at ligne ps-kommandoen, som det søger at erstatte. procs kan udføre alt, hvad ps kan, men med den tilføjede fordel af at kunne vise yderligere felter og have flere indstillinger. Af denne grund er procs i de fleste tilfælde et bedre valg for moderne systemovervågning. Begge kommandoer viser den mest signifikante information, men procs præsenterer den på en mere tilgængelig måde og med flere detaljer.
Den traditionelle ps-kommando suppleres ofte med top-kommandoen, som viser en realtidsvisning af de mest ressourcekrævende processer. I procs leveres den samme funktionalitet via --watch og --watch-interval indstillingerne. Dette betyder, at procs potentielt kan erstatte behovet for både ps og top med ét enkelt værktøj.
En anden markant forskel er understøttelsen af træ-format og tilpasning. procs understøtter fuldt ud træ-visning og kan tilpasses via en konfigurationsfil, mens ps ikke tilbyder disse muligheder som standard. Fordi ps-kommandoens output er relativt begrænset, bruger man ofte indstillinger som -ef for at få mere meningsfulde resultater. ps bruges også ofte i kombination med andre kommandoer, som grep, for at filtrere og opsummere information. procs' indbyggede søge- og filtreringsfunktioner minimerer behovet for at kæde kommandoer sammen på denne måde.
| Funktion | ps | procs |
|---|---|---|
| Grundlæggende info (PID, Bruger, CPU%, MEM%) | Ja | Ja (standard) |
| Yderligere info (Porte, Gennemstrømning, Virtuel hukommelse) | Nej | Ja |
| Farvekodet output | Nej | Ja |
| Træ-visning | Nej | Ja |
| Paginering | Nej | Ja |
| Multikolonne søgning | Nej (kræver grep) | Ja |
| Realtidsvisning (Watch mode) | Nej (kræver top) | Ja |
| Tilpasning via config fil | Nej | Ja |
| Skrevet i Rust | Nej | Ja |
Installation af procs
Installationen af procs kan gøres på flere måder, afhængigt af din Linux-distribution og præference. Værktøjet er tilgængeligt via flere populære pakkehåndteringer samt som en selvstændig binær fil.
Mange Linux-distributioner inkluderer procs i deres standardpakkelagre, hvilket gør installationen meget enkel via systemets egen pakkehåndtering (f.eks. dnf på Fedora, apk på Alpine Linux, pacman på Arch Linux). Alternativt kan pakkehåndteringer som Homebrew og snap bruges til at installere procs på systemer, hvor disse er tilgængelige.
For dem der har Rust og dets pakkehåndtering Cargo installeret, kan procs installeres direkte derfra. Endelig er det også muligt at downloade den prækompilerede binære fil direkte fra procs' udgivelser på GitHub, udpakke den og placere den i en mappe, der er inkluderet i systemets $PATH.
Sådan bruger du procs til at Overvåge Systemprocesser
Brugen af procs-applikationen er meget intuitiv. For at bekræfte installationen og tjekke versionsnummeret kan du bruge indstillingen -V. For at se en liste over alle tilgængelige flag og indstillinger, bruges -h kommandoen.
På visse systemer kan specielle tegn forstyrre procs-visningen. En almindelig løsning er at sætte miljøvariablen LESSCHARSET=utf-8 i din shell konfigurationsfil, f.eks. ~/.bashrc, og genindlæse konfigurationen med source ~/.bashrc.
Den mest grundlæggende brug er simpelthen at køre procs uden yderligere argumenter. Dette viser den standardiserede liste over alle kørende processer med de mest relevante kolonner. Hvis listen er lang, håndterer procs automatisk paginering. Du kan bruge ENTER eller piletasterne til at navigere og q for at afslutte visningen.
Søgning er en kernefunktion. Du kan søge efter en proces ved at indtaste en søgeterm. Hvis termen er numerisk, søges der efter Process ID'er. Hvis det er en tekststreng, søges der i brugernavne og kommandonavne. For eksempel vil procs dev liste alle processer, der matcher 'dev' i bruger eller kommando, mens procs 11 vil søge efter PID 11. Du kan kombinere søgetermer med --and (processen skal matche alle termer) eller --or (processen skal matche mindst én term).
Træ-visningen aktiveres med procs --tree. Dette giver et hierarkisk overblik over processerne, hvilket er uvurderligt for at forstå, hvordan processer er relateret til hinanden.
For at få en realtidsvisning, ligesom med top, bruger du procs --watch. Standardintervallet er 1 sekund, men du kan angive et brugerdefineret interval med --watch-interval efterfulgt af antallet af sekunder (f.eks. procs --watch-interval 5). I 'watch' tilstanden kan du bruge tastaturgenveje til at sortere efter forskellige kolonner og navigere.
Avanceret Brug: Konfiguration og Yderligere Kolonner
procs giver brugerne mulighed for at vise yderligere kolonner ud over standardvisningen. Dette gøres midlertidigt med indstillingen --insert , hvor er identifikatoren for den ønskede kolonne (f.eks. procs --insert VmSize for at vise virtuel hukommelsesstørrelse). En komplet liste over mulige kolonneidentifikatorer findes i dokumentationen.
Sortering af resultaterne er også ligetil. Du kan sortere outputtet baseret på enhver kolonne ved hjælp af --sorta for stigende rækkefølge og --sortd for faldende rækkefølge. For eksempel vil procs --sortd UsageMem sortere processerne efter deres hukommelsesforbrug i faldende rækkefølge.
Den mest kraftfulde tilpasning sker via konfigurationsfilen ~/.config/procs/config.toml. Når procs kører første gang, oprettes denne fil ikke automatisk; værktøjet bruger standardindstillingerne. For at tilpasse procs permanent, skal du oprette denne fil og udfylde den med den ønskede konfiguration. Du kan få et eksempel på standardkonfigurationen ved at køre procs --config og kopiere outputtet til din nye config.toml fil. Her kan du tilføje, fjerne eller omarrangere kolonner, ændre farver og justere andre indstillinger. At ændre konfigurationen kan kræve lidt øvelse, da formatet er specifikt TOML. Der findes ofte standardiserede template-filer online (som f.eks. large.toml), der kan tjene som et godt udgangspunkt, hvis du ønsker at se mange kolonner som standard.
Ofte Stillede Spørgsmål om procs
Q: Hvad er procs, og hvorfor skal jeg bruge det i stedet for ps?
A: procs er et moderne, open source alternativ til den traditionelle ps-kommando i Linux. Det tilbyder forbedret læsbarhed med farvekodet output, viser flere detaljerede informationer som netværksporte og I/O, understøtter træ-visning, paginering, avanceret søgning og en 'watch' tilstand ligesom top. Det er simpelthen mere funktionsrigt og brugervenligt end standard ps.
Q: Kan procs vise de samme informationer som ps?
A: Ja, procs viser som minimum alle de standardinformationer, som ps gør (PID, Bruger, CPU%, MEM%, etc.). Derudover kan det vise meget mere.
Q: Er procs kun tilgængelig for Linux?
A: procs understøttes fuldt ud på Linux, men har også eksperimentel understøttelse for macOS og Windows.
Q: Hvordan får jeg en realtidsvisning af processerne?
A: Du kan bruge kommandoen procs --watch for at få en opdaterende visning, der minder om top-kommandoen.
Q: Kan jeg tilpasse, hvilke kolonner procs viser?
A: Ja, du kan midlertidigt indsætte ekstra kolonner med --insert indstillingen, eller permanent tilpasse standardvisningen ved at redigere konfigurationsfilen ~/.config/procs/config.toml.
Q: Hvordan installerer jeg procs?
A: procs kan installeres via forskellige pakkehåndteringer, der er tilgængelige på din distribution (f.eks. dnf, apk, pacman, Homebrew, snap), via Rusts Cargo-pakkehåndtering, eller ved at downloade og installere den binære fil manuelt.
Opsummering af procs
procs-programmet er en yderst nyttig applikation, der tilbyder talrige opgraderinger i forhold til standard Linux ps-kommandoen. Det giver en farvekodet visning i et mere intuitivt format og tilbyder yderligere information, der ikke er tilgængelig i ps. Yderligere funktioner inkluderer et sideinddelingssystem, en mulighed for at se resultater i træformat og en 'watch' mulighed, der ligner Linux top-kommandoen.
Det er nemt at søge efter processer ved hjælp af en tekststreng eller en numerisk identifikator og at sortere resultater efter enhver kolonne. Den standardmæssige procs-visning kan tilpasses ved hjælp af en konfigurationsfil. procs er tilgængelig for de fleste Linux-systemer og kan installeres ved hjælp af en af flere forskellige pakkehåndteringer eller manuelt. Hvis du arbejder regelmæssigt med processer på dit Linux-system, er procesovervågning med procs et klart skridt op fra de gamle værktøjer.
Hvis du vil læse andre artikler, der ligner procs: Det moderne alternativ til ps i Linux, kan du besøge kategorien Fotografi.
