«system-calls» etiketlenmiş sorular

Bir programın çekirdek API'sı ile etkileşimde bulunmak için sistem çağrılarını nasıl kullandığı, hangi çağrıların mevcut olduğu, nasıl çalıştığı vb.


2
Fork () ve vfork () arasındaki fark nedir?
Fork () ve vfork () arasındaki farkı ayrıntılı olarak anlamak istiyorum. Adam sayfasını tamamen sindiremedim. Ayrıca meslektaşlarımdan birinin " Mevcut Linux'ta vfork () yoktur, onu çağırsanız bile dahili olarak fork () diyecektir " yorumunu açıklamak istiyorum .

2
Linux'taki “truss -T” ve “truss -U” nun eşdeğeri mi?
Solaris yardımcı programının -Tve -Useçeneğinin trussLinux'ta yaptıklarına eşdeğer bir şey var mı ? Bunlar , izlenen uygulama tarafından çağrıldığında durmasına neden olacak bir sistem çağrısı ( -T) veya kütüphane işlevi ( -U) belirtmelidir . Ya da, aksi takdirde, izlenen bir uygulama tarafından başlatılan herhangi bir işlemin (SIGSTOP tarafından öldürülmüş gibi) …

4
Neden vfork veya forklu bir çocuk exit () yerine _exit () öğesini çağırmalı?
Man sayfasından vfork(): vfork (), çocuk (2) veya _exit (2) yürütmek için bir çağrı yapana kadar ebeveynin askıya alınması bakımından çataldan () farklıdır. Çocuk, execve () öğesi çocuk tarafından verilinceye kadar, yığını dahil tüm belleği üst öğesiyle paylaşır. Çocuk geçerli işlevden veya call exit () işlevinden geri dönmemeli, _exit () …
12 c  system-calls  fork  exit 

2
Neden dosya ekleme sistem çağrıları yok
Anladığım kadarıyla, dosyaları işlemek için Linux'ta yalnızca dosya içeriğinin üzerine yazan (veya sonunda varsa) genişleten sys_write sistem çağrısı vardır. Linux'ta dosyalara içerik eklemek veya silmek için neden sistem çağrıları yok? Tüm mevcut dosya sistemleri, dosyanın sürekli bir bellek bloğunda saklanmasını gerektirmediğinden, etkili bir uygulama mümkün olmalıdır. (Dosyalar parçalanır.) "Yazarken kopyala" …

2
Yüklenebilir bir çekirdek modülü ile Linux 3.2.x'e yeni bir Sistem çağrısı ekleme [kapalı]
Kapalı. Bu soru konu dışı . Şu anda cevapları kabul etmiyor. Bu soruyu geliştirmek ister misiniz? Sorunuzu güncelleyin o yüzden konuyla Unix & Linux Stack Exchange için. 7 yıl önce kapalı . Linux çekirdeği 3.2.x'te belirli bir yeni sistem çağrısı eklemek istiyorum, ancak yüklenebilir bir çekirdek modülü olarak (çekirdeği tekrar …




1
Rmdir neden iki ayrı sistem çağrısının bağlantısını kaldırıyor?
İşte bir süre merak etmemi sağlayan bir şey: [15:40:50][/tmp]$ mkdir a [15:40:52][/tmp]$ strace rmdir a execve("/usr/bin/rmdir", ["rmdir", "a"], [/* 78 vars */]) = 0 brk(0) = 0x11bb000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7ff3772c3000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 fstat(3, …

4
Fork () ve exec () ne zaman çağrılır?
Fork () ve exec () komutlarını öğreniyorum. Genellikle fork () ve exec () birlikte çağrılır. (fork () yeni bir alt işlem oluşturur ve exec (), geçerli işlem görüntüsünü yenisiyle değiştirir.) Ancak, hangi işlevlerde her işlevi kendi başına çağırabilirsiniz? Bunun gibi senaryolar var mı?


2
Çekirdekteki hangi dosya sys_clone () sistem çağrısını kullanmak için fork (), vfork ()… belirtir
Sistem çağrılarını izlemek için ltrace kullanıldığında fork () 'un sys_fork () yerine sys_clone () kullandığını görebiliyordum. Ama linux kaynağını tanımlandığı yerde bulamadım. Benim programım #include<stdio.h> main() { int pid,i=0,j=0; pid=fork(); if(pid==0) printf("\nI am child\n"); else printf("\nI am parent\n"); } Ve ltrace çıktısı SYS_brk(NULL) = 0x019d0000 SYS_access("/etc/ld.so.nohwcap", 00) = -2 SYS_mmap(0, …

3
Bir işlemin aynı dosya adı için farklı bir dosya okuması
Bir dosyayı okuyan bir uygulamam var. En diyelim ProcessName ve dosya ~ / .configuration . İşlem adı çalıştığında daima ~ / .configuration yazar ve farklı yapılandırılamaz. Ayrıca, "~ / .configuration" 'a dayanan, öncesi ve sonrası, ancak işlem adı çalışırken buna bağlı olmayan başka uygulamalar da vardır . Paketleme işlem_adı içeriğini …
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.