Farklı bir adla bir işleme nasıl başlayabilirim?


12

Temel olarak kendi çocuk süreçlerini yaratabilecek bazı süreçleri dinamik olarak başlatmak istiyorum, aynı zamanda istediğim zaman oluşturduğum belirli bir süreç grubunu öldürmek istiyorum.

Düşünebileceğim bir yol, süreçleri bir adla başlatmak (bir grup olarak ayırt etmek), daha sonra pkillonları adıyla öldürmek için kullanmaktır .

Soru, isimle pkillöldürmek için kullanabileceğim bir isimle bir işleme nasıl başlayacağım ? Başka çözümlere de açığım.


Bir işlemin genellikle kullandığından farklı bir adla nasıl başlatılacağını mı soruyorsunuz ? Yoksa sadece komut satırından bir işlemin nasıl başlatılacağını mı soruyorsunuz?
Eliah Kagan

İşlem adı Linux'ta varsayılan olarak dosya adıyla aynı olarak gösterilir. Varsayılan dosya adını işlem adı olarak kullanmak veya her çalıştırdığımda dosya adını değiştirmek istemiyorum. İşlemleri istediğim belirli bir adla başlatmak istiyorum, böylece bir kerede MyOwnName adlı yeni başlattığım tüm işlemleri öldürmek için 'pkill -f MyOwnName' kullanabilirsiniz.
önbellek

Yanıtlar:


12

execKabuk yerleşimini kullanabilirsiniz :

bash -c "exec -a MyUniqueProcessName <command> &"

<command>mevcut kabuğun yerini alır, yeni bir işlem oluşturulmaz, bu yüzden aramak için yeni bir kabuk başlatıyorum exec.

Ardından işlemi şu şekilde öldürebilirsiniz:

pkill -f MyUniqueProcessName

Aynı isim altında birden fazla işlem başlatabilir, sonra pkill -f <name>hepsini öldürürsünüz.


Nasıl geri alırsın bash -c "exec -a MyUniqueProcessName <command> &"?
VNVN

1
@VNVN yapamazsınız. Bir komut çalıştırıldıysa çalıştırılır. "Geri almak" için, tam olarak ne yaptığını bilmeniz ve mümkünse manuel olarak geri almanız gerekir. Komutları çalıştırırken Ctrl + Z yoktur.
terdon

+1. benim gözlemim: Yaptığım isim exec -a name sleep 100, yaptığımda ortaya çıkıyor ps -efama yaptığımda değil pstree -p.
Trevor Boyd Smith

Meld için işe yaramıyor. ->bash -c "exec -a mymeld123 meld &"
Eduardo Lucio

0

AMItac / Solaris Ajansı

Ses kodlama aracı ile bu durumda var. (3 kez çalışır) ancak yalnızca BİR Adı vardır.

Takip ettim. Kabuk aracından bin dizinine geçip 3 kez kopyalayıp yeni bir Ad verdi. tc-1, tc-2, tc-3 (küçük bir araç, bu yüzden çok Harddisc Alanı yemiyor (yağ ikili dosyaları ile belirtilen diğer yolları kullanmamalısınız)

bu yüzden süreç benzersiz bir isim ile başladı ve devam etmek istediğim diğer kod dönüştürme işlemlerini öldürme tehlikesi olmadan bu benzersiz isim ile öldürülebilir.

başka bir numara olabilir iş ....

#bash betiği Name.sh ekleyin, çalıştırılabilir yapın. Oraya komutlarınızı yazın ve bash betiğinin kendisini başlatın. Centos'ta, bin İsminin kendisini değil, hariç tuttuğunuz Bashscript Adını kullanır.

Umarım bir şey dışarıda birine yardımcı olur.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.