Ubuntu Türkiye

Yazılım => Programlama => Kabuk (sh,bash,*csh,ksh,zsh) => Konuyu başlatan: Felâsife - 08 Nisan 2012 - 16:03:55

Başlık: [Çözüldü] Operapluginwrapper Kill komutu
Gönderen: Felâsife - 08 Nisan 2012 - 16:03:55
Selamlar
Operapluginwrapper malum Opera'nın flash plugin şeysi, bazı videolardan sonra (FreeBSD de) kendini kapatamıyor, arka planda açık kalıyor.

Bende bu komutla konsolu tam ekran ekran yaparak modülleri durdurabiliyorum.
$ ps aux | grep -e "operapluginwrapper.linux" | awk {' print $2 '}| while read pid; do echo "PID ---> :$pid"; kill -9 $pid 2>/dev/null ;done

Yalnız bunu betik olarak çalıştıramadım, betik olursa çalıştırmak benim için daha kolay olacak.

Şöyle bir şey yapıyorum, değişik şekillerde de deniyorum ama olmuyor, acaba ne yapabiliriz?

#!/usr/bin/env bash
p=`operapluginwrapper.linux`
ps aux | grep $p 2>/dev/null | awk {' print $2 '} | while read pid ;do
echo "PID ---> $pid"
sleep .05
kill -9 $pid 2>/dev/null
done
echo




NOT:
*BSD de bu plugin "operapluginwrapper.linux" olarak adlanıyor, Linux'larda "operapluginwrapper" dir büyük ihtimal.
Başlık: Ynt: Operapluginwrapper Kill komutu
Gönderen: heartsmagic - 08 Nisan 2012 - 16:53:33
Sadece çalışmıyor mu, hata basmıyor mu bu arada peki?
Başlık: Ynt: Operapluginwrapper Kill komutu
Gönderen: sadokbjk - 08 Nisan 2012 - 19:08:43
#!/bin/bash
ps aux | grep -e "gedit" | awk {' print $2 '}| while read pid; do echo "PID ---> :$pid"; kill -9 $pid 2>/dev/null ;done


Bu şekilde çalışması lazım. gedit için denedim, bende çalışıyor en azından.

şu satırı çift tırnak kullanarak deneyebilirsin.
p=`operapluginwrapper.linux`
Başlık: Ynt: Operapluginwrapper Kill komutu
Gönderen: Felâsife - 09 Nisan 2012 - 01:38:43
@heartsmagic
Teşekkür ederim, aslında şeş kaza kabilinden bazen çalışıyor ama her şeyi kapatıp yeni bir deneme yapınca, çalışan betik çalışmıyor, bir tuhaflık var ama bir açıklamasıda vardır illaki.
Önce cacheden okuyor sonra görmüyor veya zaman ayarlı bir durum mu vardır nedir anlayamadım tabii.

@sadokbjk
Teşekkür ederim, çift tırnaklıda işe yaramadı, onuda denemiştim ama ben biraz daha çalışayım bakalım, n'olacak :)
Başlık: Ynt: Operapluginwrapper Kill komutu
Gönderen: ironic - 09 Nisan 2012 - 02:02:01
Şu şekilde olabilir.



for pid in $(pgrep operapluginwrapper.linux)
do
  kill -9 $pid &>/dev/null
done
Başlık: Ynt: Operapluginwrapper Kill komutu
Gönderen: Felâsife - 09 Nisan 2012 - 02:17:49
Galiba oldu, "operapluginwrapper.linux" böyle değilde, noktadan sonrasını .linux kısmını yazmayınca oluyor gibi, biraz daha deneme yapayım bakalım  :)

Olmadı @ironic,  bu arada komutu değiştirmişsin şansa onuda denedim o da olmadı.

Tuhaf aslında neden olmadığı, konsoldan olan komut gayet iyi dönüyor,


[mono@fbsd9:documents]$ sh ~/.oldur.sh
[mono@fbsd9:documents]$ sh ~/.oldur.sh
[mono@fbsd9:documents]$ sh ~/.oldur.sh
[mono@fbsd9:documents]$ ps aux | grep -e "operapluginwrapper.linux" | awk {' print $2 '}| while read pid; do echo "PID ---> :$pid"; kill -9 $pid 2>/dev/null ;done
PID ---> :3118
PID ---> :3123
PID ---> :3124
PID ---> :3125
PID ---> :11315
[mono@fbsd9:documents]$







Teşekkür ederim @ironic işlem tamam kaç kere denedim tuhaflık yapmadı, betiğin son hali böyle oldu.

#!/usr/bin/env bash
for pid in $(pgrep operapluginwrapper)
do
kill -9 $pid &>/dev/null ;done
Başlık: Ynt: [Çözüldü] Operapluginwrapper Kill komutu
Gönderen: ironic - 09 Nisan 2012 - 02:52:44
öncekinde while kullanmıştım. Döngüyü sadece çalışan uygulamanın sayısı kadar devam ettirmenin daha mantıklı olacağını düşününce for a geçiş yaptım. :) 

Bu arada ps ile için daha sade bir çıktı için aşağıdaki komutu kullanabiliriz. Sadece pid leri ve pid lere ait uygulamaların adlarını listeliyor . Ben genelde pgrep i tercih ediyorum. Ayrıca bir de pidof var.

ps axo pid,comm
Başlık: Ynt: [Çözüldü] Operapluginwrapper Kill komutu
Gönderen: Felâsife - 09 Nisan 2012 - 03:04:31
Evet while'li komut hatada verince aşağıya doğru habire gidiyordu, ctrl+c ile anca duruyordu, for iyiymiş hatada olsa uzamıyordu  ;D

Bilgiler içinde teşekkür ederim, gerçi çok teknik detaylarını bilmiyorum bu komutların ama el yordamıyla az buçuk bir şeyler yapabilmek güzel tabii.
Birde ne olduklarını unutmazsam iyi olacak ama unutuyorum, neyse 2 satırla iş çözüldü sağ olasın :)