2016-03-21 20 views
0

Bitirdikten sonra kapatmak istediğim basit bir terminal uygulamasına sahibim (aslında açtığı terminal örneğini kapatın).Terminal uygulamasından çıkın Programlı olarak mı?

Mac uygulamalarının nasıl öldürüleceği konusunda birçok soru var, ancak bunların hiçbiri terminal mac uygulamaları için geçerli görünmüyor.

benim Program sonunda aşağıdaki çalıştıran çalıştı adres:

NSApplication.sharedApplication().terminate(0) 

ve

kill(getppid(), SIGKILL); 

ancak bunların hiçbiri aslında pencereyi kapatın. Biri bana doğru yönde işaret edebilir mi, yoksa bu mümkün mü?

+4

Kullanıcı zaten başka bir Terminal penceresine sahipse ne olur? Genelde en azından birkaç Terminal penceresinin açık olması ve Terminal'in çıkmasına neden olan bazı komutlar çalıştırıldığında rahatsız edilmekten çok daha fazlası olacağım. – Caleb

+0

Doğru, sadece Terminal uygulamamı kapatmak istiyorum, anlayabildiğim kadarıyla belgelenmediğinden emin değilim. –

+0

Hala ne aldığınızdan emin değilim. Terminal.app, MacOS X ile birlikte gelen terminal emülatöründen mi bahsediyorsunuz, yoksa kendi terminal emülatörünü yazdınız mı? – Caleb

cevap

0

Bunun yerine getirmek:

exit(0); 

... hemen bir terminal komut satırı aracı ya da tam bir GUI uygulaması Hava, bir yağmurluk durduracaktır.

Bir GUI uygulamasında yapmamalısınız, çünkü çıkmadan önce kullanıcı verilerini kaydetmek için tasarlanan her şeyi atlayabilir, ancak bu, terminal içindeki doğru işlevdir.

Terminal penceresi yalnızca komut satırı aracınız kabuk içinde çalıştırılmıyorsa kapatılacaktır. O zaman bile, Terminal yalnızca "kabuk çıkınca" "pencereyi kapat" veya "kabuk temiz bir şekilde çıkarsa pencereyi kapat" olarak ayarlandığında pencereyi kapatacaktır.

Çıkış için sağlanan 0 numaralı numara, aracınızın temiz bir şekilde çıkarıldığını gösterir. Pencerenin kapanmasını önlemek için başka bir numaraya dönün (ve bir hata mesajı yazdırmalısınız).

İlgili konular