[Çözüldü] Operapluginwrapper Kill komutu

Başlatan Felâsife, 08 Nisan 2012 - 16:03:55

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Felâsife

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.
Maceraya hazır mısın!  Bir BSD almaz mısın?

heartsmagic

Sadece çalışmıyor mu, hata basmıyor mu bu arada peki?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

sadokbjk

#!/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`

Felâsife

@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 :)
Maceraya hazır mısın!  Bir BSD almaz mısın?

ironic

#4
Şu şekilde olabilir.



for pid in $(pgrep operapluginwrapper.linux)
do
  kill -9 $pid &>/dev/null
done

Felâsife

#5
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
Maceraya hazır mısın!  Bir BSD almaz mısın?

ironic

ö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

Felâsife

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 :)
Maceraya hazır mısın!  Bir BSD almaz mısın?