Quels trois files sont toujours ouverts par un process?

Quelqu'un a mentionné qu'il y a trois files différents qu'un process ouvre toujours. Qu'est-ce que ça veut dire? Quels files sont-ils?

Les files ouverts ne sont pas des files sur le disque. Ce sont les stream (pseudo files), stdin (0), stdout (1) et stderr (2). Voici l'extrait pertinent de la norme POSIX :

Un file avec mise en memory tampon associée est appelé stream et est déclaré comme un pointeur vers un type de file défini. La fonction fopen () doit créer certaines données descriptives pour un stream et renvoyer un pointeur pour désigner le stream dans toutes les autres transactions. Normalement, il existe trois stream ouverts avec des pointeurs constants déclarés dans l'en-tête et associés aux files ouverts standard.

Lors du démarrage du programme, trois stream doivent être prédéfinis et ne doivent pas être ouverts explicitement: input standard (pour lire une input conventionnelle), sortie standard (pour écrire une sortie conventionnelle) et erreur standard (pour écrire une sortie de diagnostic). Lorsqu'il est ouvert, le stream d'erreur standard n'est pas entièrement tamponné; les stream d'input standard et de sortie standard sont entièrement mis en tampon si et seulement si le stream peut être déterminé pour ne pas faire reference à un dispositif interactif.