Bunun cevabı hangi kabuğu kullandığınıza bağlıdır. Birçok kabukları var echo
bir şekilde yerleşik o listeleyen bir süreçte görünmez dolayısıyla ayrı bir işlem spawn ve yok anlamına gelir komutu. Ancak, yerleşikleri komutla yazarsanız /bin/echo
veya ./echo
veya devre dışı bırakırsanız enable -n echo
, kabuk yerleşik komutunu kullanmayacak ve bunun yerine ikili sürümü kullanacaktır. Bu bir süreç listesinde görünecektir.
Kabuk yerleşkesi yerine binary kullanıyorsanız, echo komutu, verileri diğer işlemin STDIN arabelleğine taşımak için gereken süre boyunca görünecektir. Bu arabellek sonlu bir boyuta sahiptir, bu nedenle ara belleğe sığacakdan daha fazla veri varsa, echo komutu diğer işlem arabellekten bazı verileri okuyana kadar bir süre takılmak zorunda kalacaktır. Çoğu durumda (yukarıda verdiğiniz iki örnek gibi) bu süre mikrosaniye olacaktır. 20MB SQL dökümünü echo kullanarak MySQL'e yapıştırıyorsanız, bu daha uzun olabilir. Zaman ne kadar kısa olursa olsun, kabuk yerleşimi yerine ikili dosyayı kullanırsanız ve birileri zamanlamayı doğru yaparsa, süreci süreç listesinde görebilirler.
Gizli verileri bir dosyaya (uygun izinlerle) koyarak ve dosyayı şu şekilde STDIN olarak kullanarak bunu önleyebilirsiniz:
mysql -u root -p < file_with_secret.sql