Pepaipan dengan subproses melibatkan penggunaan parameter cangkerang untuk melahirkan proses dengan cangkerang yang menyokong perpaipan output. Walau bagaimanapun, disebabkan kebimbangan keselamatan, tidak disyorkan untuk menggunakan shell=True.
Untuk menyalurkan proses tanpa bergantung pada shell=True, cipta proses berasingan untuk setiap arahan dan sambungkan aliran input dan output. Contohnya:
ps = subprocess.Popen(('ps', '-A'), stdout=subprocess.PIPE) output = subprocess.check_output(('grep', 'process_name'), stdin=ps.stdout)
Di sini, ps mewakili proses yang berjalan ps -A dan grep ialah proses yang menjalankan grep 'process_name'.
Dalam senario khusus anda, bukannya menggunakan paip, anda hanya boleh memanggil subprocess.check_output(('ps', '-A')) dan kemudian gunakan str.find pada output yang dikembalikan untuk menyemak proses yang diingini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyalurkan Proses dengan Selamat dalam `subproses` Python Tanpa Menggunakan `shell=True`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!