--- ./Modules/_posixsubprocess.c_orig	2025-05-05 04:29:13.012761242 -0400
+++ ./Modules/_posixsubprocess.c	2025-05-05 04:44:31.737044296 -0400
@@ -382,7 +382,13 @@
         proc_fd_dir = NULL;
     else
 #endif
+#if defined(_AIX)       
+        char fd_dir_path[PATH_MAX]; 
+        snprintf(fd_dir_path, sizeof(fd_dir_path), "/proc/%ld/fd", (long)getpid()); 
+        proc_fd_dir = opendir(fd_dir_path);
+#else
         proc_fd_dir = opendir(FD_DIR);
+#endif
     if (!proc_fd_dir) {
         /* No way to get a list of open fds. */
         _close_fds_by_brute_force(start_fd, py_fds_to_keep);
