У меня проблема с управлением семафорами pgp.
Насколько я вижу, pgp (версия 6.5.8) создает 4 семафора, когда начинает шифровать файл, но только 2 из них затем уничтожаются в конце.
Чтобы воспроизвести я пытался ..
1) список используемых в настоящее время семафоров
> ipcs -s
------ Semaphore Arrays --------
key semid owner perms nsems
0x00000000 0 root 600 1
0x00000000 32769 root 600 1
0x00000000 98306 nobody 600 1
0x00000000 131075 nobody 600 1
0x00000000 163844 nobody 600 1
0x00000000 196613 nobody 600 1
0x00000000 229382 nobody 600 1
2 семафора используются пользователем "root" и 4 семафора - никем (веб-сервер apache).
2) затем, если я пытаюсь создать и зашифровать только что созданный файл, я получаю такой вывод:
> pgp -e /tmp/test.tmp 'ftp-vega <ftp-vega@it.st.com>'
Pretty Good Privacy(tm) Version 6.5.8
(c) 1999 Network Associates Inc.
Uses the RSAREF(tm) Toolkit, which is copyright RSA Data Security, Inc.
Export of this software may be restricted by the U.S. government.
Recipients' public key(s) will be used to encrypt.
Key for user ID: ftp-vega <ftp-vega@it.st.com>
2048-bit RSA key, Key ID 0x8AB0285F, created 2005/11/02
Key can sign.
Ciphertext file: /tmp/test.tmp.pgp
и файл правильно зашифрован (и может быть расшифрован), поэтому, в моем понимании, процесс шифрования завершается успешно (по-видимому) без каких-либо ошибок ...
3) Но затем, если я попытаюсь снова перечислить используемые семафоры, я вижу, что еще 2 семафора были созданы, но не очищены:
> ipcs -s
------ Semaphore Arrays --------
key semid owner perms nsems
0x00000000 0 root 600 1
0x00000000 32769 root 600 1
0x00000000 98306 nobody 600 1
0x00000000 131075 nobody 600 1
0x00000000 163844 nobody 600 1
0x00000000 196613 nobody 600 1
0x00000000 229382 nobody 600 1
0x00000000 11599881 root 0 1
0x00000000 11632650 root 0 1
Так как в этой системе pgp запускается несколько раз в день (для шифрования нескольких файлов), несколько дней назад я перечислил более 1000 потерянных семафоров, имеющих perms = 0.
Есть ли кто-нибудь с таким же поведением? Что я могу сделать, чтобы предотвратить это (вместо этого, чтобы удалить в любое время любые созданные семафоры-сироты)?
Спасибо, кто-нибудь сможет мне помочь (и извините за мой английский).
Чао, Стефано Милан, Италия