Bir program, ayrılmış bir ekranda çalıştığını algılayabilir mi?


10

Bir ekran oturumunda oldukça zayıf bir donanım üzerinde etkileşimli bir lanet programı çalıştırıyorum. Çoğu zaman, ekran ayrılır. Bu programın bu durumu tespit etmesinin ve temel olarak ekranda boyamayı durdurmasının bir yolu var mı?


sadece merak ediyorum: müstakil bir ekran çalıştırmak nedenlerinden bazıları nelerdir?
amphibient

3
@foampile Ekranı asla ayırmayacaksanız, ekranın içinde koşmanın anlamı nedir?
Michael Mrozek

Yanıtlar:


8

screen_awayEkranın takılı olup olmamasına bağlı olarak uzak durumunuzu ayarlayan bir irssi komut dosyası var . Şöyle çalışır:

Bir ekran içinde çalışan her kabuk, STYortam değişkenine soket adına ayarlanacaktır. screen -lsTüm soketlerin saklandığı yolu almak için çalışabilirsiniz :

$ screen -ls

There are screens on:
        11824.pts-24.mmrozek    (Attached)
        2306.ssh        (Detached)
        6615.chat       (Attached)
3 Sockets in /var/run/screen/S-mmrozek.

Yürütme bitini kontrol edin /var/run/screen/.../$STY. Ayarlanmışsa, ekran eklenir; aksi takdirde müstakil. Yukarıdaki çıktıdan, üç ekranımdan ikisinin bağlı olduğunu ve burada karşılık gelen yürütme bitlerinin ayarlandığını görebilirsiniz:

$ ls -l /var/run/screen/S-mmrozek/

total 0
prwx------ 1 mmrozek mmrozek 0 Oct  5 13:04 11824.pts-24.mmrozek
prw------- 1 mmrozek mmrozek 0 Sep 23 23:45 2306.ssh
prwx------ 1 mmrozek mmrozek 0 Oct  5 12:43 6615.chat

Ayrıca screen -ls, bir satırın çıktısını kontrol etmeye devam edebilir $STYve satırın bitip bitmediğini (Attached)veya tekrar tekrar (Detached)çalışmasını gerektirir screen.


1
Ha, bugün yeni bir şey öğrendim. Bu yürütme biti sadece bir "bağlı / ayrılmış" bayrağı dışında bir şey anlamına gelir?
jw013
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.