«file-descriptors» etiketlenmiş sorular

3
hangi dosya tanımlayıcılarının aynı “açık dosya tanımını” paylaştığını öğrenin
Eğer yaparsam (Bourne benzeri bir kabukta): exec 3> file 4>&3 5> file 6>> file Dosya tanımlayıcıları 3 ve 4, 4 dup()3'ten edindiğinden, aynı açık dosya açıklamasını paylaşın (aynı özellikler, dosya içindeki aynı ofset ...). Bu işlemin dosya tanımlayıcıları 5 ve 6 farklı bir açık dosya tanımındayken (örneğin, her biri dosyada …


2
Bir dosya tanımlayıcısını kapattığımda () ne olur?
Dosya tanıtıcıları ile tüm resmi almaya çalışıyorum. Başlangıçta bu dosya tanımlayıcıları olan process1 var diyelim: _process1_ | | | 0 stdin | | 1 stdout | | 2 stderr | |__________| Sonra dosya tanımlayıcı 1'i kapatıyorum: close(1); Dosya tanımlayıcı 1 stdout FILE yapısına (nokta) çevirir , çekirdeğin Açık Dosyalar Tablosundaki …

3
Fork () neden bir dosya tanımlayıcı döndürecek şekilde tasarlanmalıdır?
Onun üzerinde yaklaşık web sayfasında kendini boru hile Dan Bernstein bir yarış ile durumu açıklar select()ve sinyalleri, teklifler geçici bir çözüm ve sonucuna varır Elbette, Doğru Şey fork(), bir işlem tanıtıcısı değil, bir dosya tanıtıcısı döndürmek olacaktır . Bununla ne anlama geliyor - select()bu durum değişikliklerinden haberdar olmak için bir …

3
“{Exec> / dev / null kodunda; }> / dev / null ”başlık altında neler oluyor?
Bir exec yeniden yönlendirmesi içeren bir komut listesini yeniden yönlendirdiğinizde, exec> / dev / null daha sonra hala uygulanmıyormuş gibi görünür: { exec >/dev/null; } >/dev/null; echo "Hi" "Merhaba" yazdırılır. {}Bir boru hattının parçası olmadığı sürece komut listesinin bir alt kabuk olarak görülmediği izlenimi altındaydım , bu yüzden exec >/dev/nullhala …

2
Dosya tanımlayıcı ve çatal
Bir çocuk çatallandığında ebeveynin dosya tanımlayıcılarını devralır, çocuk dosya tanımlayıcıyı kapatırsa ne olur? Çocuk yazmaya başlarsa, ebeveynin sonunda dosyaya ne olur? Bu tutarsızlıkları, çekirdeği veya kullanıcıyı kim yönetir? bir işlem closebelirli bir açık dosyayı dosya tanımlayıcı aracılığıyla kapatmak için işlevi çağırdığında . İşlemin dosya tablosunda, başvuru sayısı bir azaltılır. Ancak …

1
Exec 3 <& 1 ne yapar?
execGeçerli kabukta G / Ç yönlendirmesi yapabileceğini anlıyorum , ancak yalnızca aşağıdaki gibi kullanım görüyorum: exec 6&lt;&amp;0 # Link file descriptor #6 with stdin. # Saves stdin. exec 6&gt;&amp;1 # Link file descriptor #6 with stdout. # Saves stdout. Bundan &lt;girdi akışı için olduğunu , &gt;çıkış akışı için olduğunu anlıyorum …

2
SSH -t arka plan süreçlerini neden beklemiyor?
Neden ssh -tarka plan işlerinin bitmesini beklemiyor? Misal: ssh user@example 'sleep 2 &amp;' Ssh 2 saniye sonra döndüğü için bu beklendiği gibi çalışır. ssh user@example -t 'sleep 2 &amp;' sleepbitmesini beklemez ve hemen geri döner. Bunun nedenini kimse açıklayabilir mi? Geri ssh -tdönmeden önce tüm arka plan işlemlerinin bitmesini beklemenin …

2
WLAN arayüzünün hızı nasıl bulunur?
Dosya tanımlayıcıyı kullanarak ağ arayüzünün hızını bulmaya çalışıyorum. Bunu yapmak kolaydır ethX, sadece arayın cat /sys/class/net/eth0/speed. Ne yazık ki bu yöntem kablosuz arabirim ile çalışmaz. Aradığımda /sys/class/net/wlan0/speedhata alıyorum: geçersiz argüman. Peki, /sys/class/net/eth0/speedwlan arabirimi için benzer bir analog biliyor musunuz ?


1
Ulimit sabitleme: açık dosyalar: limiti değiştiremez: İşleme izin verilmiyor
Bunu farklı GNU / Linux kurulumlarında test ettim: perl -e 'while(1){open($a{$b++}, "&lt;" ,"/dev/null") or die $b;print " $b"}' Sistem A ve D Vurduğum ilk sınır 1024'tür. Bunu /etc/security/limits.conf dosyasına koyarak kolayca yükseltilir: * hard nofile 1048576 ve sonra çalıştırın: ulimit -n 1048576 echo 99999999 | sudo tee /proc/sys/fs/file-max Şimdi test …

3
SSH: Stdin, stdout, stderr'e ek olarak ek "boru" diskleri sağlayın
SSH ile bir ana bilgisayara bağlarken, genellikle üç "boru" için, ev sahibi ve konuk arasında sağlanır stdin, stdoutve stderr. Ek dosya tanımlayıcıları ( 3ve daha sonraki) için ileriye doğru oluşturmak için bir komut satırı seçeneği var mı ? Örneğin, yapmak istiyorum ssh --forwardfd=10:3 remotehost 'echo test &gt;&amp;3' yerel olarak açılan …

7
Bir dosya tanımlayıcının geçerli olup olmadığını test etme
Bir bash komut dosyası çıktısı, açık olduklarında dosya tanımlayıcılarına (FD) 3 veya daha büyük ek bilgiler yapmak istiyorum. Bir FD'nin açık olup olmadığını test etmek için aşağıdaki hileyi tasarladım: if (printf '' 1&gt;&amp;3) 2&gt;&amp;-; then # File descriptor 3 is open else # File descriptor 3 is not open fi …

2
dosya tanıtıcısı ile dosya adı karşılaştırması
Dosya tanımlayıcıları ve dosya adları arasındaki farkların ve ilişkilerin ne olduğunu merak ediyordum. Hepsi dosyalara erişmek için mi kullanılıyor? Evet ise, aynı şekilde? Örneğin, /dev/fd/0, /dev/stdin, ve /proc/self/fd/0tüm bağlantıları vardır /dev/pts/2. Bu dört dosya tanıtıcısı mı yoksa dosya adı mı?

3
Bir günlük programı silinmiş bir dosyaya günlüğe kaydetmeye nasıl devam edebilir?
Gönderen Unix güç araçları, 3rd Edition : yerine Dosyasını Kaldırma arasında It boşaltın bölümü: Etkin bir işlemde dosya açıksa (günlük dosyaları için nadir değildir), dosyayı kaldırmak ve yeni bir işlem oluşturmak günlük programını etkilemez; bu iletiler artık bağlı olmayan dosyaya gitmeye devam edecek . Dosyayı boşaltmak ilişkilendirmeyi bozmaz ve bu …

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.