Quel appel système os.listdir exécute-t-il en interne et y a-t-il une possibilité de suspension de processus Python en raison d'un scénario où os.listdir
est sur un lecteur réseau monté?Est-ce que os.listdir peut se bloquer avec les lecteurs réseau? Quel appel système utilise-t-il?
Nous suspectons un problème sur notre serveur d'application à cause de os.listdir
qui essaie de lister un partage samba monté sur une machine linux. Apparemment, le DNS de la part de samba avait changé au moment où nous avons eu ce problème. Nous essayons toujours de reproduire ce scénario, mais quelqu'un peut-il me dire comment cela fonctionnerait? Et aussi des commandes comme ls
pendre aussi comme ça?
Existe-t-il des moyens de gérer cela à l'espace utilisateur?
Y at-il une façon que nous pouvons gérer ces choses sans modifier la mise en œuvre du noyau? Quelque chose comme un temps mort aurait-il un sens? – Nishant
Brillant, je n'ai pas beaucoup utilisé les fils. Mais c'est un bon exemple pour apprendre ces concepts. Va passer par l'exemple. Son quelque chose comme séparer le "contrôle de la connectivité réseau" du vrai Python ou quelque chose dans ce sens. – Nishant
@Nishant Editer la réponse pour supprimer la gestion "morte". Il s'avère que les threads Python n'ont pas besoin d'être "joints" avec succès pour se nettoyer après eux-mêmes. – user4815162342