Je cours dans une session bash interactive. J'ai créé des descripteurs de fichiers, en utilisant exec, et je voudrais lister quel est l'état actuel de ma session bash.
Existe-t-il un moyen de répertorier les descripteurs de fichiers actuellement ouverts?
linux
bash
file-descriptors
open-files
dangonfast
la source
la source
bash
ne fait pas partie du noyau, il ne peut donc pas savoir ce que font les autres processus, même ceux qu'il a démarrés.Réponses:
Oui, cela répertoriera tous les descripteurs de fichiers ouverts:
Bien sûr, comme d'habitude: 0 est stdin, 1 est stdout et 2 est stderr.
Le 4ème est un fichier ouvert (à écrire) dans ce cas.
la source
En supposant que vous souhaitiez répertorier les descripteurs de fichiers attachés à n'importe quel terminal, vous pouvez utiliser
lsof
/fuser
ou similaire comme:Ces outils analysent essentiellement
/proc
, de sorte que vous pouvez/proc/$$/fd/
également y accéder, par exemple:la source
\/pts\/
rejets ouverts commeexec 4>testfile.txt
Réseau fd uniquement:
la source