我对Linux API sem_unlink()有点困惑,主要是在什么时候或为什么调用它。我在Windows中使用信号量已经很多年了。在Windows中,一旦关闭了命名信号量的最后一个句柄,系统就会删除底层内核对象。但是在Linux中,开发人员需要通过调用sem_unlink()来删除内核对象。如果不这样做,内核对象将保留在/dev/shm文件夹中。我遇到的问题是,如果进程A调用sem_unlink(),而进程B锁定了信号量,它会立即销毁信号量,现在当进程</
Linux (Ubuntu)中有一个进程打开一个文件供读取,但没有刻意关闭它。当进程终止时,OS 自动关闭文件描述符吗?
我的具体情况是在Rails应用程序中,在那里我打开了一个二进制文件。我的web服务器产生了多个Rails进程。该文件是从每个Rails进程中的单例打开的。我需要知道当Rails进程终止时,这个二进制文件是否会自动关闭。