GoldenSheep402 / myPstree

toy for fun

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

myPstree

exp in jyy's class

also that's for fun for myself

what it can do?

I wrote it to simulate pstree in linux.So it just simply read the \proc directory to get the pid info and print.

There is still some problem,late I may fix them(I guess I will).

example

Print All Process
└─PID: 0, Name: [root]
    ├─PID: 1, Name: [systemd]
    │  ├─PID: 282, Name: [systemd-journal]
    │  ├─PID: 283, Name: [systemd-udevd]
    │  ├─PID: 437, Name: [systemd-timesyn]
    │  ├─PID: 448, Name: [crond]
    │  ├─PID: 449, Name: [dbus-daemon]
    │  ├─PID: 450, Name: [polkitd]
    │  ├─PID: 451, Name: [systemd-logind]
    │  ├─PID: 480, Name: [NetworkManager]
    │  ├─PID: 507, Name: [ModemManager]
    │  ├─PID: 543, Name: [cupsd]
    │  ├─PID: 685, Name: [bluetoothd]
    │  ├─PID: 693, Name: [wpa_supplicant]
    │  ├─PID: 718, Name: [sddm]
    │  │  ├─PID: 739, Name: [Xorg]
    │  │  └─PID: 849, Name: [sddm-helper]
    │  │      └─PID: 864, Name: [startplasma-x11]
    │  ├─PID: 851, Name: [systemd]
    │  │  ├─PID: 852, Name: [(sd-pam)]
    │  │  ├─PID: 875, Name: [dbus-daemon]
    │  │  ├─PID: 904, Name: [baloo_file]
    │  │  ├─PID: 908, Name: [xdg-desktop-por]
    │  │  ├─PID: 915, Name: [xdg-document-po]
    │  │  │  └─PID: 927, Name: [fusermount3]
    │  │  ├─PID: 920, Name: [xdg-permission-]
    │  │  ├─PID: 949, Name: [ksmserver]
    │  │  ├─PID: 951, Name: [kded5]
    │  │  ├─PID: 952, Name: [kwin_x11]
    │  │  ├─PID: 1001, Name: [kglobalaccel5]
    │  │  ├─PID: 1022, Name: [plasmashell]
    │  │  │  ├─PID: 1758, Name: [firefox]
    │  │  │  │  ├─PID: 1872, Name: [Socket Process]
    │  │  │  │  ├─PID: 1896, Name: [Privileged Cont]
    │  │  │  │  ├─PID: 1969, Name: [WebExtensions]
    │  │  │  │  ├─PID: 2028, Name: [Utility Process]
    │  │  │  │  ├─PID: 2041, Name: [plasma-browser-]
    │  │  │  │  ├─PID: 2042, Name: [Isolated Web Co]
    │  │  │  │  ├─PID: 3478, Name: [Isolated Web Co]
    │  │  │  │  ├─PID: 14089, Name: [Isolated Web Co]
    │  │  │  │  ├─PID: 14443, Name: [Web Content]
    │  │  │  │  ├─PID: 14545, Name: [RDD Process]
    │  │  │  │  ├─PID: 14562, Name: [Web Content]
    │  │  │  │  └─PID: 14616, Name: [Web Content]
    │  │  │  ├─PID: 2193, Name: [konsole]
    │  │  │  │  └─PID: 2214, Name: [zsh]
    │  │  │  │      └─PID: 14748, Name: [my_pstree.out]
    │  │  │  └─PID: 8334, Name: [github-desktop]
    │  │  │      ├─PID: 8338, Name: [github-desktop]
    │  │  │      │  └─PID: 8366, Name: [github-desktop]
    │  │  │      ├─PID: 8339, Name: [github-desktop]
    │  │  │      │  └─PID: 8341, Name: [github-desktop]
    │  │  │      ├─PID: 8462, Name: [github-desktop]
    │  │  │      └─PID: 8468, Name: [github-desktop]
    │  │  ├─PID: 1029, Name: [dconf-service]
    │  │  ├─PID: 1073, Name: [kactivitymanage]
    │  │  ├─PID: 1075, Name: [gmenudbusmenupr]
    │  │  ├─PID: 1076, Name: [polkit-kde-auth]
    │  │  ├─PID: 1077, Name: [org_kde_powerde]
    │  │  ├─PID: 1078, Name: [xdg-desktop-por]
    │  │  ├─PID: 1079, Name: [xembedsniproxy]
    │  │  ├─PID: 1107, Name: [ksystemstats]
    │  │  ├─PID: 1128, Name: [kscreen_backend]
    │  │  ├─PID: 1131, Name: [obexd]
    │  │  ├─PID: 1161, Name: [pipewire]
    │  │  ├─PID: 1162, Name: [wireplumber]
    │  │  ├─PID: 1209, Name: [cfw]
    │  │  │  ├─PID: 1291, Name: [cfw]
    │  │  │  │  └─PID: 1408, Name: [cfw]
    │  │  │  ├─PID: 1292, Name: [cfw]
    │  │  │  │  └─PID: 1322, Name: [cfw]
    │  │  │  ├─PID: 1432, Name: [cfw]
    │  │  │  └─PID: 1438, Name: [cfw]
    │  │  │      └─PID: 1601, Name: [clash-linux]
    │  │  ├─PID: 1211, Name: [jetbrains-toolb]
    │  │  ├─PID: 1215, Name: [python3]
    │  │  │  ├─PID: 1384, Name: [libinput-debug-]
    │  │  │  └─PID: 10027, Name: [xdotool]
    │  │  ├─PID: 1216, Name: [msm_kde_notifie]
    │  │  ├─PID: 1219, Name: [fcitx5]
    │  │  ├─PID: 1220, Name: [kdeconnectd]
    │  │  ├─PID: 1221, Name: [jetbrains-toolb]
    │  │  ├─PID: 1222, Name: [latte-dock]
    │  │  ├─PID: 1236, Name: [agent]
    │  │  ├─PID: 1237, Name: [kaccess]
    │  │  ├─PID: 1245, Name: [pamac-tray-plas]
    │  │  ├─PID: 1553, Name: [pulseaudio]
    │  │  │  └─PID: 1579, Name: [gsettings-helpe]
    │  │  ├─PID: 1673, Name: [at-spi-bus-laun]
    │  │  │  └─PID: 1679, Name: [dbus-daemon]
    │  │  ├─PID: 1681, Name: [at-spi2-registr]
    │  │  ├─PID: 2349, Name: [code]
    │  │  │  ├─PID: 2359, Name: [code]
    │  │  │  │  └─PID: 2392, Name: [code]
    │  │  │  ├─PID: 2360, Name: [code]
    │  │  │  │  └─PID: 2362, Name: [code]
    │  │  │  │      └─PID: 2442, Name: [code]
    │  │  │  ├─PID: 2415, Name: [code]
    │  │  │  ├─PID: 2469, Name: [code]
    │  │  │  │  ├─PID: 2531, Name: [cpptools]
    │  │  │  │  ├─PID: 2639, Name: [code]
    │  │  │  │  ├─PID: 2687, Name: [code]
    │  │  │  │  ├─PID: 2729, Name: [code]
    │  │  │  │  ├─PID: 8804, Name: [code]
    │  │  │  │  ├─PID: 8805, Name: [code]
    │  │  │  │  ├─PID: 9199, Name: [code]
    │  │  │  │  └─PID: 9222, Name: [code]
    │  │  │  ├─PID: 2479, Name: [code]
    │  │  │  │  └─PID: 2514, Name: [code]
    │  │  │  │      ├─PID: 2915, Name: [zsh]
    │  │  │  │      ├─PID: 4144, Name: [zsh]
    │  │  │  │      ├─PID: 4495, Name: [zsh]
    │  │  │  │      ├─PID: 5244, Name: [zsh]
    │  │  │  │      └─PID: 6422, Name: [zsh]
    │  │  │  └─PID: 2480, Name: [code]
    │  │  ├─PID: 2375, Name: [chrome_crashpad]
    │  │  └─PID: 9744, Name: [cpptools-srv]
    │  ├─PID: 863, Name: [kwalletd5]
    │  ├─PID: 914, Name: [udisksd]
    │  ├─PID: 938, Name: [upowerd]
    │  └─PID: 1033, Name: [rtkit-daemon]
    └─PID: 2, Name: [kthreadd]
        ├─PID: 3, Name: [rcu_gp]
        ├─PID: 4, Name: [rcu_par_gp]
        ├─PID: 5, Name: [slub_flushwq]
        ├─PID: 6, Name: [netns]
        ├─PID: 8, Name: [kworker/0:0H-events_highpri]
        ├─PID: 10, Name: [mm_percpu_wq]
        ├─PID: 12, Name: [rcu_tasks_kthread]
        ├─PID: 13, Name: [rcu_tasks_rude_kthread]
        ├─PID: 14, Name: [rcu_tasks_trace_kthread]
        ├─PID: 15, Name: [ksoftirqd/0]
        ├─PID: 16, Name: [rcu_preempt]
        ├─PID: 17, Name: [rcub/0]
        ├─PID: 18, Name: [migration/0]
        ├─PID: 19, Name: [idle_inject/0]
        ├─PID: 20, Name: [kworker/0:1-events]
        ├─PID: 21, Name: [cpuhp/0]
        ├─PID: 22, Name: [cpuhp/1]
        ├─PID: 23, Name: [idle_inject/1]
        ├─PID: 24, Name: [migration/1]
        ├─PID: 25, Name: [ksoftirqd/1]
        ├─PID: 27, Name: [kworker/1:0H-events_highpri]
        ├─PID: 28, Name: [cpuhp/2]
        ├─PID: 29, Name: [idle_inject/2]
        ├─PID: 30, Name: [migration/2]
        ├─PID: 31, Name: [ksoftirqd/2]
        ├─PID: 33, Name: [kworker/2:0H-events_highpri]
        ├─PID: 34, Name: [cpuhp/3]
        ├─PID: 35, Name: [idle_inject/3]
        ├─PID: 36, Name: [migration/3]
        ├─PID: 37, Name: [ksoftirqd/3]
        ├─PID: 38, Name: [kworker/3:0-mm_percpu_wq]
        ├─PID: 39, Name: [kworker/3:0H-events_highpri]
        ├─PID: 40, Name: [cpuhp/4]
        ├─PID: 41, Name: [idle_inject/4]
        ├─PID: 42, Name: [migration/4]
        ├─PID: 43, Name: [ksoftirqd/4]
        ├─PID: 44, Name: [kworker/4:0-mm_percpu_wq]
        ├─PID: 45, Name: [kworker/4:0H-events_highpri]
        ├─PID: 46, Name: [cpuhp/5]
        ├─PID: 47, Name: [idle_inject/5]
        ├─PID: 48, Name: [migration/5]
        ├─PID: 49, Name: [ksoftirqd/5]
        ├─PID: 51, Name: [kworker/5:0H-events_highpri]
        ├─PID: 52, Name: [cpuhp/6]
        ├─PID: 53, Name: [idle_inject/6]
        ├─PID: 54, Name: [migration/6]
        ├─PID: 55, Name: [ksoftirqd/6]
        ├─PID: 57, Name: [kworker/6:0H-events_highpri]
        ├─PID: 58, Name: [cpuhp/7]
        ├─PID: 59, Name: [idle_inject/7]
        ├─PID: 60, Name: [migration/7]
        ├─PID: 61, Name: [ksoftirqd/7]
        ├─PID: 63, Name: [kworker/7:0H-events_highpri]
        ├─PID: 64, Name: [kdevtmpfs]
        ├─PID: 65, Name: [inet_frag_wq]
        ├─PID: 66, Name: [kauditd]
        ├─PID: 67, Name: [khungtaskd]
        ├─PID: 69, Name: [oom_reaper]
        ├─PID: 70, Name: [writeback]
        ├─PID: 71, Name: [kcompactd0]
        ├─PID: 72, Name: [ksmd]
        ├─PID: 74, Name: [khugepaged]
        ├─PID: 75, Name: [kintegrityd]
        ├─PID: 76, Name: [kblockd]
        ├─PID: 77, Name: [blkcg_punt_bio]
        ├─PID: 78, Name: [tpm_dev_wq]
        ├─PID: 79, Name: [ata_sff]
        ├─PID: 80, Name: [edac-poller]
        ├─PID: 81, Name: [devfreq_wq]
        ├─PID: 82, Name: [watchdogd]
        ├─PID: 83, Name: [kworker/5:1H-events_highpri]
        ├─PID: 84, Name: [kworker/2:1-mm_percpu_wq]
        ├─PID: 85, Name: [kswapd0]
        ├─PID: 93, Name: [kthrotld]
        ├─PID: 95, Name: [kworker/6:1-mm_percpu_wq]
        ├─PID: 100, Name: [irq/122-aerdrv]
        ├─PID: 101, Name: [irq/122-pcie-dpc]
        ├─PID: 105, Name: [acpi_thermal_pm]
        ├─PID: 106, Name: [xenbus_probe]
        ├─PID: 107, Name: [hwrng]
        ├─PID: 108, Name: [mld]
        ├─PID: 109, Name: [kworker/1:1H-events_highpri]
        ├─PID: 110, Name: [ipv6_addrconf]
        ├─PID: 115, Name: [kstrp]
        ├─PID: 119, Name: [zswap1]
        ├─PID: 120, Name: [zswap1]
        ├─PID: 121, Name: [zswap-shrink]
        ├─PID: 161, Name: [charger_manager]
        ├─PID: 173, Name: [kworker/7:1H-events_highpri]
        ├─PID: 176, Name: [kworker/0:1H-kblockd]
        ├─PID: 182, Name: [kworker/6:1H-kblockd]
        ├─PID: 185, Name: [kworker/3:1H-events_highpri]
        ├─PID: 188, Name: [kworker/2:1H-kblockd]
        ├─PID: 195, Name: [kworker/4:1H-events_highpri]
        ├─PID: 214, Name: [irq/143-aerdrv]
        ├─PID: 215, Name: [irq/143-pcie-dpc]
        ├─PID: 217, Name: [nvme-wq]
        ├─PID: 218, Name: [nvme-reset-wq]
        ├─PID: 219, Name: [nvme-delete-wq]
        ├─PID: 229, Name: [jbd2/nvme0n1p2-8]
        ├─PID: 230, Name: [ext4-rsv-conver]
        ├─PID: 270, Name: [kmpathd]
        ├─PID: 271, Name: [kmpath_handlerd]
        ├─PID: 371, Name: [irq/153-mei_me]
        ├─PID: 374, Name: [cfg80211]
        ├─PID: 381, Name: [cryptd]
        ├─PID: 407, Name: [irq/118-SYNA32AD:00]
        ├─PID: 432, Name: [card0-crtc0]
        ├─PID: 433, Name: [card0-crtc1]
        ├─PID: 434, Name: [card0-crtc2]
        ├─PID: 435, Name: [card0-crtc3]
        ├─PID: 446, Name: [irq/155-rtw88_pci]
        ├─PID: 609, Name: [irq/156-AudioDSP]
        ├─PID: 717, Name: [kworker/5:3-inet_frag_wq]
        ├─PID: 1148, Name: [krfcommd]
        ├─PID: 3721, Name: [kworker/4:1-events]
        ├─PID: 3722, Name: [kworker/1:0-events]
        ├─PID: 4811, Name: [kworker/u16:2-flush-259:0]
        ├─PID: 6411, Name: [kworker/u16:3-flush-259:0]
        ├─PID: 7284, Name: [kworker/5:0-mm_percpu_wq]
        ├─PID: 8109, Name: [kworker/u16:5-events_power_efficient]
        ├─PID: 8562, Name: [kworker/u16:1-events_unbound]
        ├─PID: 8563, Name: [kworker/u16:4-flush-259:0]
        ├─PID: 8564, Name: [kworker/u16:6-flush-259:0]
        ├─PID: 8636, Name: [kworker/1:1-events]
        ├─PID: 11253, Name: [kworker/u17:0-rtw_tx_wq]
        ├─PID: 11913, Name: [kworker/7:0-mm_percpu_wq]
        ├─PID: 11972, Name: [kworker/0:0-events]
        ├─PID: 12162, Name: [kworker/2:2-cgroup_destroy]
        ├─PID: 12331, Name: [kworker/6:0-inet_frag_wq]
        ├─PID: 13397, Name: [kworker/u17:1-rtw_tx_wq]
        ├─PID: 13648, Name: [kworker/u17:3-rtw_tx_wq]
        ├─PID: 13835, Name: [kworker/7:2-events]
        ├─PID: 13844, Name: [kworker/3:2-events]
        ├─PID: 14059, Name: [kworker/1:2-events]
        ├─PID: 14599, Name: [kworker/6:2-rcu_gp]
        ├─PID: 14606, Name: [kworker/5:1-events]
        └─PID: 14642, Name: [kworker/u17:2-i915_flip]

About

toy for fun


Languages

Language:C 96.1%Language:Makefile 3.9%