Skip to content

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:

Uses old look_up_our_self() in readproc.c probably needs fatal_proc_unmounted()

Can't get it to build of standard Debian pbuilders, not due to the patches but how they build it. Have untested code that looks ok.

Cpu-x

Homepage: https://github.com/X0rg/CPU-X

😃 src/core.c looks like they are using the new API, probably fine Need to check its ok, but it looks after a quick glance.

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.

😃 Have patches that work on libproc v4.0.1

Obs-advanced-scene-switcher

Homepage: https://obsproject.com/forum/resources/advanced-scene-switcher.395/

Code: https://salsa.debian.org/debian/obs-advanced-scene-switcher

Code: https://salsa.debian.org/debian/obs-advanced-scene-switcher/-/blob/debian/master/src/linux/advanced-scene-switcher-nix.cpp

openproc() and scan for cmd in getprocesslist()

🏁 : Have patches that work and uploaded into Debian unstable

Veyon-plugins

Code: https://github.com/veyon/veyon/blob/833764e8c3d6c9f1efeb09cdcfa89eda2f53b5f1/plugins/platform/linux/LinuxCoreFunctions.cpp#L422 🐛 https://bugs.debian.org/1024225

😃 Have patches that work for libproc2, sent them to Debian maintainer.

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.

Edited by Craig Small