Sur cette page

QProcess::UnixProcessParameters Struct

struct QProcess::UnixProcessParameters

Cette structure a été introduite dans Qt 6.6.

Description détaillée

Note : Cette structure n'est disponible que sur les plates-formes Unix.

Cette structure peut être utilisée pour transmettre une configuration supplémentaire, spécifique à Unix, pour le processus enfant en utilisant QProcess::setUnixProcessParameters().

Ses membres sont les suivants

  • UnixProcessParameters::flags Drapeaux, voir QProcess::UnixProcessFlags
  • UnixProcessParameters::lowestFileDescriptorToClose Le descripteur de fichier le plus bas à fermer.

Lorsque l'indicateur QProcess::UnixProcessFlags::CloseFileDescriptors est défini dans le champ flags, QProcess ferme les descripteurs de fichiers ouverts de l'application avant d'exécuter le processus enfant. Les descripteurs 0, 1 et 2 (c'est-à-dire stdin, stdout et stderr) sont laissés tranquilles, de même que ceux dont le numéro est inférieur à la valeur du champ lowestFileDescriptorToClose.

Tous les réglages ci-dessus peuvent également être effectués manuellement en appelant la fonction POSIX correspondante à partir d'un gestionnaire défini avec QProcess::setChildProcessModifier(). Cette structure permet à QProcess de traiter toutes les différences spécifiques à la plate-forme, de bénéficier de certaines optimisations et de réduire la duplication du code. En outre, si l'une de ces fonctions échoue, QProcess entrera dans l'état QProcess::FailedToStart, tandis que le rappel du modificateur de processus enfant n'est pas autorisé à échouer.

Voir également QProcess::setUnixProcessParameters() et QProcess::setChildProcessModifier().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.