And yes, a "defunct" process cannot be killed, because that already happened. "defunct" means that only the entry in the process list remains because the termination has not been picked up (through a wait() call) by the parent process. Sometimes, sending a kill -1 to the parent process works, but such a situation usually points to a code issue in the parent (e.g. the SAS object spawner).
By killing/terminating the parent, the system init process takes over all its children and will remove them after receiving the -1 signal (kill -1 1). If that also fails, a system reboot is in order. Although I haven't seen that happening for a long time now (>10 years, not with AIX 6/7 and SAS 9.2 and above)
... View more