{"id":13575781,"url":"https://github.com/Freaky/checkrestart","last_synced_at":"2025-04-04T23:30:38.828Z","repository":{"id":142942522,"uuid":"241236795","full_name":"Freaky/checkrestart","owner":"Freaky","description":"sysutils/checkrestart: A FreeBSD tool to find stale processes that may need restarting after an upgrade","archived":false,"fork":false,"pushed_at":"2022-03-20T21:08:35.000Z","size":98,"stargazers_count":15,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-23T16:43:08.805Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Freaky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2020-02-18T00:24:51.000Z","updated_at":"2024-11-03T23:44:38.000Z","dependencies_parsed_at":"2023-05-01T10:15:41.628Z","dependency_job_id":null,"html_url":"https://github.com/Freaky/checkrestart","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Freaky%2Fcheckrestart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Freaky%2Fcheckrestart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Freaky%2Fcheckrestart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Freaky%2Fcheckrestart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Freaky","download_url":"https://codeload.github.com/Freaky/checkrestart/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247266474,"owners_count":20910831,"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-08-01T15:01:04.126Z","updated_at":"2025-04-04T23:30:38.560Z","avatar_url":"https://github.com/Freaky.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# NAME\n\n**checkrestart** - check for processes that may need restarting\n\n# SYNOPSIS\n\n**checkrestart** \\[**--libxo**] \\[**-bHw**] \\[**-j**\u0026nbsp;*jail*] \\[**-u**\u0026nbsp;*user*] \\[*proc\u0026nbsp;...*]\n\n# DESCRIPTION\n\nThe **checkrestart** command attempts to find processes that need restarting following a software upgrade, as indicated by their underlying executable or shared libraries no longer appearing on disk.\n\n**checkrestart** does not perform any system changes itself \u0026#8212; it is strictly informational and best-effort (See the *BUGS* section). It is the responsibility of the system administrator to interpret the results and take any necessary action.\n\nFor full system-wide checks, **checkrestart** should be executed as the superuser to allow it access to global virtual memory mappings.\n\nThe following options are available:\n\n**--libxo**\n\n\u003e Generate formatted output via libxo(3) in a selection of human and machine-readable formats.\n\u003e See xo\\_parse\\_args(3) for details on available arguments.\n\n**-b**\n\n\u003e Check only for missing binaries, skipping the far more expensive check for stale libraries.\n\n**-H**\n\n\u003e Suppress the header.\n\n**-w**\n\n\u003e Print the full width of the ARGUMENTS column even if it will wrap in the terminal.\n\n**-j** *jail*\n\n\u003e Filter output by specified jail name or ID.\n\n**-u** *user*\n\n\u003e Filter output by specified user name or ID.\n\nIf any *proc* operands are specified, they are treated as process names, IDs, and group IDs to limit checks to.\n\n# EXAMPLES\n\nCheck all processes visible by the user:\n\n\t # checkrestart\n\t  PID   JID USER         COMMAND      WHY ARGUMENTS\n\t44960     0 freaky       weechat      .so /usr/local/bin/weechat\n\t81345     0 freaky       tmux         bin tmux: server (/tmp/tmux-1001/default)\n\t80307     0 freaky       tmux         bin tmux: client (/tmp/tmux-1001/default)\n\t18115     1 nobody       memcached    bin /usr/local/bin/memcached\n\nThis output indicates **weechat** is using an out of date library, a **tmux** client/server pair is using an out-of-date executable, having replaced its arguments list obscuring its location, and **memcached**, running in jail 1, is also out of date having left its arguments list as the full path to its original executable.\n\nCheck only processes named weechat and tmux:\n\n\t # checkrestart weechat tmux\n\nCheck only processes with PID 142 and 157:\n\n\t # checkrestart 142 157\n\nCheck only processes in PGID 117:\n\n\t # checkrestart -- -117\n\n# SEE ALSO\n\nprocstat(1), libxo(3), xo\\_parse\\_args(3), jail(8), service(8)\n\n# HISTORY\n\nA **checkrestart** command first appeared in the debian-extras package in Debian Linux.\n\nThis implementation follows a similar idea, and is based on a prior version in the author's **pkg-cruft** Ruby script.\n\nAn unrelated but similar **checkrestart** command is also available as an OpenBSD port.\n\n# AUTHORS\n\nThomas Hurst \u0026lt;tom@hur.st\u0026gt;\n\n# BUGS\n\n**checkrestart** may report both false positives and false negatives, depending on program and kernel behaviour, and should be considered strictly \"best-effort\".\n\nIn particular, retrieval of pathnames is implemented using the kernel's name cache \u0026#8212; if an executable or library path is not in the name cache due to an eviction, or use of a file system which does not use the name cache, **checkrestart** will consider this the same as if a file is missing.\n\nThe use of the name cache also means it is not yet possible to report which files are considered missing.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFreaky%2Fcheckrestart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFreaky%2Fcheckrestart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFreaky%2Fcheckrestart/lists"}