Projects dependent on procps library
This issue will track projects that are using the old library and will need to move to the new API. A lot of these don't seem to reliably detect the old library so that will need to be fixed to detect the old/new library so they can work with either. Almost all used the pids API.
List of dependent projects:
-
Apitrace -
cpu-x -
deepin-screen-recorder -
intel-gpu-tools -
veyon-plugins -
obs-advanced-scene-switcher
Apitrace
Homepage: https://apitrace.github.io
Code:
- https://github.com/apitrace/apitrace
- https://salsa.debian.org/xorg-team/app/apitrace/-/blob/debian-unstable/lib/os/os_memory.hpp
Uses old look_up_our_self()
in readproc.c probably needs fatal_proc_unmounted()
Cpu-x
Homepage: https://github.com/X0rg/CPU-X
Deepin-screen-recorder
Code: https://github.com/linuxdeepin/deepin-screen-recorder
src/process_tree.h - puts proc_t into StoredProcType
src/record_process.cpp
In RecordProcess::readSleepProcessPid() - openproc/readproc
Intel-gpu-tools
Homepage: https://01.org/linuxgraphics/
In lib/igt_aux.c
igt_is_process_running()
check cmd for process openproc/readproc
igt_terminate_process()
scan proctab and kill found proc
igt_lsof()
scan proctab and check the dir, looks incorrect code actually.
Obs-advanced-scene-switcher
Homepage: https://obsproject.com/forum/resources/advanced-scene-switcher.395/
Code: https://salsa.debian.org/debian/obs-advanced-scene-switcher
openproc()
and scan for cmd in getprocesslist()
Veyon-plugins
Code: https://github.com/veyon/veyon/blob/833764e8c3d6c9f1efeb09cdcfa89eda2f53b5f1/plugins/platform/linux/LinuxCoreFunctions.cpp#L422
This one is interesting. There is a foreach method in LinuxCoreFunctions.cpp
which is used once in LinuxServerProcess.cpp
and LinuxSessionFunctions.cpp
What is passed between these is a proc_t and optionally the fill flags. I'm thinking that the ideal would be to use a pids_stack instead and have the caller pass the Items, because then it would know the position of the items for the visitor function.