{"id":18560775,"url":"https://github.com/eepp/pidwrapnotify","last_synced_at":"2025-05-15T16:34:01.830Z","repository":{"id":23943729,"uuid":"27325248","full_name":"eepp/pidwrapnotify","owner":"eepp","description":"notifier of Linux kernel PID wrapping","archived":false,"fork":false,"pushed_at":"2014-12-02T18:06:37.000Z","size":144,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-17T12:30:08.001Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eepp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-11-30T05:08:20.000Z","updated_at":"2016-03-11T21:31:03.000Z","dependencies_parsed_at":"2022-08-06T00:15:26.731Z","dependency_job_id":null,"html_url":"https://github.com/eepp/pidwrapnotify","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eepp%2Fpidwrapnotify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eepp%2Fpidwrapnotify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eepp%2Fpidwrapnotify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eepp%2Fpidwrapnotify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eepp","download_url":"https://codeload.github.com/eepp/pidwrapnotify/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254377518,"owners_count":22061162,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T22:04:33.812Z","updated_at":"2025-05-15T16:34:01.795Z","avatar_url":"https://github.com/eepp.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"pidwrapnotify\n=============\n\n**pidwrapnotify** is a notifier of PID wrapping in Linux. A\nkernel module notifies a user space daemon when the PID\nwraps (that is, when a new process is created and its PID\nis lower than the previous highest PID). The user space\ndaemon emits a D-Bus (standard) desktop notification when\nthis happens.\n\nOriginal idea by [Simon Marchi](https://github.com/simark).\n\n\nrequirements\n------------\n\n  * Linux \u003e= 3.15\n  * `CONFIG_TRACEPOINT` and `CONFIG_MODULES` kernel options enabled\n    (both are enabled in pretty much all Linux distributions)\n  * incremental PID allocation, without PID reuse (default scheme)\n\n\nusing\n-----\n\nThis might not work with old Linux kernels.\n\n  1. Clone the repository:\n\n        git clone https://github.com/eepp/pidwrapnotify.git \u0026\u0026 cd pidwrapnotify\n\n  2. Build the kernel module:\n\n        ( cd module \u0026\u0026 make )\n\n  3. Insert the kernel module into the Linux kernel:\n\n        ( cd module \u0026\u0026 sudo insmod ./pidwrapnotify.ko )\n\n  4. Look at the output of `dmesg` to find the character\n     device's major number, e.g.:\n\n        [ 5256.923685] pidwrapnotify: added char device 249:0\n\n  5. Create the character special file using this major number:\n\n        sudo mknod /dev/pidwrapnotify c 249 0\n\n  6. Install the daemon (make sure you have the\n     `python-dbus` package for Python 3):\n\n        ( cd daemon \u0026\u0026 sudo ./setup.py install )\n\n  7. Start the daemon:\n\n        pidwrapnotifyd\n\n  8. Enjoy.\n\nHere's a simple way to make your system's PID wrap\nquickly:\n\n    while true; do ls; done\n\nOf course, the actual time depends on this value:\n\n    cat /proc/sys/kernel/pid_max\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feepp%2Fpidwrapnotify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feepp%2Fpidwrapnotify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feepp%2Fpidwrapnotify/lists"}