In c-lightning, we give time to the plugin to shutdown, and after some time (30 seconds) if the plugin doesn't answer to shutdown we kill it.
However, some type of plugin can keep going because they can be run by a bash script or something else, and c-lighting kills only the bash script process and not the real project.
This happens with plugins written in Java or Kotlin, with the library clightning4j.
In conclusion, some of these plugins make a fake closing, in particular, if the plugin answer to the shutdown notification, c-lighting could not kill it, but assume that the plugin kills itself (with simple an exit(0)), this can be a use case where the plugin is badly written, but for sure have an example can help to debug the use case
This is the procedure that makes the trick https://github.com/SimonVrouwe/lightning/blob/81325097eddde6dfff911331c09963d5a316a6cc/lightningd/plugin.c#L2090