Benim bash betiğim selenyum sunucusu ile yapıldıktan sonra, betiği şu şekilde öldürür:
kill `ps -ef | grep selenium | awk '{ print $2 }'`
Bu işe yarar ve selenyum komut dosyasını öldürürken, grep selenium
işlem numarası kill komutuna geri döndüğünde, süreç gitti, bu yüzden bir hata mesajı oluşturuyor. (Başka bir deyişle: iki işlemi öldürür, bunlardan biri gerçek selenyum sunucusudur, diğeri bu komutu nasıl yaptığımın bir yan etkisi olan geçici bir işlemdir.)
Bu istenmeyen yan etkisi olmayan süreci öldürmek için daha zarif bir yol var mı?
(FWIW bir fikrim vardı: bu aynı script senaryoda daha önce selenyum başlar, bu yüzden belki selenyum başlattığımda PID'yi yakalamanın bir yolu olsaydı, bunu saklayabilir ve doğrudan öldürebilirim, Sorun şu ki, bu PID'yi nasıl elde edeceğimi, onu korumak için bir değişkeni nasıl kullanacağımı ve daha sonra komut dosyasında nasıl başvurulacağını bilmiyorum. Ama bu daha iyi bir yol mu?)