fcoseall() funktioniert nicht.

Dieses Thema im Forum "C/C++" wurde erstellt von dpkg, 08.08.2007.

  1. #1 dpkg, 08.08.2007
    Zuletzt bearbeitet: 08.08.2007
    dpkg

    dpkg Mitglied

    Dabei seit:
    21.04.2007
    Beiträge:
    46
    Zustimmungen:
    0
    Ort:
    Linz
    Hi,

    Ich bin durch Zufall draufgekommen, das bei meinem System der
    fclosall()-befehl nicht richtig funktioniert.

    Dieses Programm öffnet 2 dateien, ruft fclosall() und gibt dann die in proc/<pid>/fd eingetragenen Filedeskriptoren aus:

    Code:
    #include <stdio.h>
    #include <unistd.h>
    
    
    int main( void ){ 
    	FILE *f1,*f2;
    	pid_t pid = getpid();
    	char debug[1024];
    
    	snprintf(debug,1024,"ls -l /proc/%d/fd",pid);
    
    
    	f1 = fopen("test.in","r");
    	f2 = fopen("test.out","w");
    	fcloseall();
    	system(debug);
    	
    
    	//system(debug);
    	return 0;
    }
    
    Obwohl keine FDs mehr existieren dürften, gibt das Programm folgendes aus:
    Code:
    insgesamt 5
    lrwx------ 1 chris01 chris01 64 2007-08-08 12:21 0 -> /dev/pts/3
    l-wx------ 1 chris01 chris01 64 2007-08-08 12:21 1 -> /home/chris01/output
    lrwx------ 1 chris01 chris01 64 2007-08-08 12:21 2 -> /dev/pts/3
    lr-x------ 1 chris01 chris01 64 2007-08-08 12:21 3 -> /home/chris01/test.in
    l-wx------ 1 chris01 chris01 64 2007-08-08 12:21 4 -> /home/chris01/test.out
    
    Könnt ihr das mal bitte auf euren rechnern ausprobieren und mir sagen, ob das bei euch auch so ist, bzw. mir sagen was ich falsch mache?

    THX + MFG
    chris

    EDIT: die Zeile "l-wx------ 1 chris01 chris01 64 2007-08-08 12:21 1 -> /home/chris01/output" kommt daher, da ich die ausgabe
    des Programmes mit ./a.out | output umgeleitet hab, weil ich von xterm nichts kopieren kann.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. lukrop

    lukrop Don't feed trolls

    Dabei seit:
    01.08.2007
    Beiträge:
    32
    Zustimmungen:
    0
    Ort:
    Wien
    hmm test.in scheint sich zu schlieszen out bleibt auch bei einem 2ten versuch da... schon mal die manpages durchforstet?
     
  4. dpkg

    dpkg Mitglied

    Dabei seit:
    21.04.2007
    Beiträge:
    46
    Zustimmungen:
    0
    Ort:
    Linz
    Das würde erklären, warum die FDs offen bleiben...aber warumm dann bei dir einer geschlossen wird, und warum ich in die Files noch schreiben kann(gerade ausprobiert),
    ist mir ein Rätsel.
     
Thema:

fcoseall() funktioniert nicht.

Die Seite wird geladen...

fcoseall() funktioniert nicht. - Ähnliche Themen

  1. CentOS 7.2: Mailversand funktioniert obwohl nicht definiert

    CentOS 7.2: Mailversand funktioniert obwohl nicht definiert: Hallo Habe CentOS 7.2 installiert/konfiguriert. Testweise habe ich eine mail versendet: mail -s "test mail" email@adresse.de May 25 15:45:04...
  2. Samba 4.1.11 Domänen anbindung funktioniert nicht !!!

    Samba 4.1.11 Domänen anbindung funktioniert nicht !!!: Hallo liebe Ubixboard - User, ich hoffe ihr könnt mir helfen habe schon mehrere Foren durchstöbert und echt zahlreiche Tutorials angeschaut und...
  3. PHPmyAdmin login funktioniert nicht

    PHPmyAdmin login funktioniert nicht: Hallo zusammen, nachdem ich gestern meine PHP Version von 5.3 auf 5.4 geupdated habe, kann ich mich nicht mehr in PHPmyAdmin einloggen. Komisch...
  4. Tabs wiederherstellen funktioniert bei Firefox nicht

    Tabs wiederherstellen funktioniert bei Firefox nicht: Hallo, seit kurzem kann ich in Firefox keine geschlossenen Tabs wiederherstellen. Wenn ich auf den entsprechenden Button klicke, passiert...
  5. Automatisierung via Netzwerk funktioniert nicht richtig

    Automatisierung via Netzwerk funktioniert nicht richtig: Hey Leute, Habe da ein Problem das ich einfach nicht verstehe und wo ich auch nicht weis wonach ich suchen soll, folgender Code: #!/bin/bash...