2015-06-11 24 views
6

POSIX ileti sıraları ile TCP soketlerini değiştirmek için bir kod yazıyorum. Bazen program çökecektir (hala geliştirme aşamasında) ve oluşturulan kuyruklar silinmez (çalıştırılmadı: mq_close() + mq_unlink()). Bu, kodu yeniden çalıştırdığımda sorunlara neden olur.Posix ileti sıraları ve komut satırı?

Komut satırı kullanarak bu kuyrukları silme/çıkarma yolu var mı? Kullanmayı denedim: ipcs -q. Bu herhangi bir sıra listelenemedi.

Denedim: lsof | grep queue-name. Burada ortaya çıktılar.

İdeal olarak, kullanmak istiyorum: ipcrm.

cevap

10

POSIX IPC nesneleri, sanal dosya sistemlerinde dosya olarak uygulanır. Bu dosyalar ls ve rm ile listelenebilir ve kaldırılabilir. Bunu POSIX ileti sıraları ile yapmak için , aşağıdaki sıralar kullanarak ileti sıra dosya sistemini monte etmeliyiz:

$ su 
Password: 
# mkdir /dev/mqueue 
# mount -t mqueue none /dev/mqueue 
# exit 
+2

Kendinize bu cevabı vermek oldukça kabul edilebilir. Bu, gelecekte bu soruya bakan diğerlerine yardımcı olacaktır. – Mawg

+1

@Mawg'den bahsetmişken, kendi yanıtınızı [kabul etmekten (https://stackoverflow.com/help/accepted-answer) çekinmeyin. Bu cevap benim için de işe yarıyor. ('Su' yi kaldırırdım ve sudo 'yi kullanırdım.) – Melebius