PID is insufficient as an identifier in kubernetes
As discovered in https://gitlab.com/gitlab-com/gl-infra/production/-/issues/3404#note_492735243 using PID as an identifier for dead processes is problematic in kubernetes, because if a container dies in a pod it will just be restarted, with the same "hostname", and because containers have minimal processes and simple startups, the PID can trivially end up being the same (empirically, across our fleet of sidekiq processes on gitlab.com, nearly 50% are PID 11 and nearly 50% are PID 12 (with a tiny fraction being 13-15 for some reason). Until the pod is actually terminated (auto-scaling, deploys, or other operations), a job that the reliable fetcher should have restarted can be stuck in limbo.
At a quick glance, it might be possible to use a randomly generated identifier (GUID-like perhaps, to avoid collisions?) instead of the PID, but I haven't thought that through in depth yet, so there may be gotchas.