[Çözüldü] Bir fonksiyonun belirli bir süre çalışması?

Başlatan Mx0Ub, 26 Temmuz 2010 - 01:38:07

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Mx0Ub


iyi günler

function m
{
ping 192.168.1.1
}
bu (örnek)  fonsiyonun yada içerdeki komutun 1 saniye caşılması gerekiyor.
bunu nasıl saglarım ?
Not:
Hic bi sorumluluk kabul edilmez yapılan yorumlardan ve verilen kodlardan

ironic

ping -c 1

ile kullanabilirsin. Tek bir paket sayımı yaptııktan sonra durur.

Mx0Ub

ben ping örnek verdim. benim kullandıgım komutta süre sınırlayamıyorum
nmblookup -A 192.168.1.1


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 26 Temmuz 2010 - 18:46:32

yani m fonksiyonunun ömrünün 1 saniye olarak ayarlamamız gerekiyor.
Not:
Hic bi sorumluluk kabul edilmez yapılan yorumlardan ve verilen kodlardan

bytan

Betiğine sleep ile basit bir zamanlayıcı koyup bell isüre sonunda sonlandırmayı deneyebilirsin.

http://tldp.org/LDP/abs/html/internalvariables.html

Veya depolardan timelimit pakedini indirip üzerine yoğunlaşabilirsin:

http://manpages.ubuntu.com/manpages/lucid/man1/timelimit.1.html
Umut en büyük kötülüktür; işkenceyi uzatır. - F.N.


Bir şey ne ise odur, bu kadar. Öyleyse, iki şey arasında bağdaşıklık varsa, bu aralarında iletişim kuruyorlar demek değildir.
"... kavrayışını bilgi ile derinleştir ..."
PF @ ST

Mx0Ub

tesekurler
fonksiyonun ardından bir fonksiyon yazıcam o sekilde kapatıcam.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 30 Temmuz 2010 - 06:48:51

pekala
bir komutu pid e bakmadan nasıl kapatırım
mesela grep komutunu pid bilgisine bakmadan kapatmak gibi
Not:
Hic bi sorumluluk kabul edilmez yapılan yorumlardan ve verilen kodlardan

erginemr

Alıntı yapılan: nefretmy - 30 Temmuz 2010 - 06:43:56
pekala
bir komutu pid e bakmadan nasıl kapatırım
mesela grep komutunu pid bilgisine bakmadan kapatmak gibi

pkill grep
killall grep

Mx0Ub

#6
Bash kodlamasında bir fonksiyona sen 10 saniye çalısıcaksın diyemiyordum.
Bundan python öğrenmeyi dusunuyorum.
Peki python da  bir fonksiyona veya programa  10 saniye çalısma sınırlaması yapabilirmiyim ?
Not:
Hic bi sorumluluk kabul edilmez yapılan yorumlardan ve verilen kodlardan

sem

Konu dışı: Çünkü cevabınızı bilmiyorum, nasıl yapılacağını...

Sırf bunun için ise eğer, bash üzerinden bunu yapmayı öğrenmek çok daha kolay olacaktır diye düşünüyorum...  bash biginiz biraz  varsa belki 5 10 dakikaya yapılabilir bu dediğiniz (burada tahmin edersiniz ki farazi konuşuyorum, bilmeden =)). Ben size şunu sorayım; mesela iki tane bash betiği yazdık diyelim, biri a olsun biri b olsun. a çalıştığı zaman b yi de çalıştırabilir mi? Çalıştırabiliyor olması lazım benim bildiğim bash =)... Şu şekilde bir şey yapılabilir mi?

a betiği çalıştı. Çalışır çalışmaz b betiğini çalıştırdı ve ardından kendi işlerini yapmaya başladı. a kendi işlerini yaparken b zaten başlamıştı çalışmaya. b betiği de şu tarz olacak; kendi kendine 10 saniye sleep uyguladıktan sonra pkill ile a betiğine son verecek. Gibi bir şey...

Merakımdan sordum bunu sadece =)
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

hitokiri

Alıntı Yap
Bash kodlamasında bir fonksiyona sen 10 saniye çalısıcaksın diyemiyordum.
Bundan python öğrenmeyi dusunuyorum.
Peki python da  bir fonksiyona veya programa  10 saniye çalısma sınırlaması yapabilirmiyim ?
fonksiyonun kendisinin on saniye çalışması daha mantıklı
#!/bin/bash
i="0"
ping google.com &
while true
do 
let "i=$i + 1"
sleep 1;
if [ "$i" = "10" ];then
killall ping ;
break
fi
done

Mx0Ub

sem0900 o şekilde olmuyo nedeni fonksiyonun a fonksiyonun bağımlı olmasından dolayı
hitokori
fonksiyonun ismi neresi oluyor yada bunu fonksiyonun içinemi yazıcam ?
ve fonksiyon a fonksiyonundan aldıgı bilgiye göre tekrarlanıyor ondan dolayı sure işininde tekrarlanması gerekiyor.
Not:
Hic bi sorumluluk kabul edilmez yapılan yorumlardan ve verilen kodlardan

hitokiri

evet fonksiyonun içine yazıcaksın hepsi tek bi fonksiyon,
a fonksiyonu bu b fonksiyonunu çalıştırıcak b fonksiyonunda her seferinde i=0 eşitlenicek komut & döngü birlikte döngü her saniye i'nin değerini bir arttırıcak eğer i 10 'a eşitse komut geber döngüden çık,
sanırım sorunu karşılıyor ?

sem

Evet kendi içinde de yapılabiliyorsa ne ala... Böyle daha kaliteli olmuş... hitokiri google a neden ping atma gereği duydun böyle bir programda.. Amaç 10 saniye çalışmak değil mi sadece? Anlamadım da...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

Mx0Ub

az cok anladım heralde .
b fonsiyonu içine komutdan önce c fonksiyonun çalıstırdicem.
sonra c fonksiyonu içine bunları koycam.
peki dogrudan bunları b fonksiyonu içinde komutdan önce koysam olurmuki dicem denicem.

Not:
Hic bi sorumluluk kabul edilmez yapılan yorumlardan ve verilen kodlardan

sem

".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

hitokiri

Alıntı Yapaz cok anladım heralde .
b fonsiyonu içine komutdan önce c fonksiyonun çalıstırdicem.
sonra c fonksiyonu içine bunları koycam.
peki dogrudan bunları b fonksiyonu içinde komutdan önce koysam olurmuki dicem denicem.
hepsi b içinde olması gerek :)
Alıntı YapBen hala ping olayını anlamış değilim =)
Nereyi ? =)

Mx0Ub

hepsini b içine koydum
ping komutu yerine benim komutu yazdım ama su var

V=$(ping www.google.com")
echo ${V:---}
şeklinde kulanıyorum.
bide
hiçbir işlem bulunamadı
cıktısın aldım
nedeni heralde allkill komutu kapandıktan sonra benim komutun çalısması.
Not:
Hic bi sorumluluk kabul edilmez yapılan yorumlardan ve verilen kodlardan

sem

Alıntı yapılan: sem0900 - 04 Ağustos 2010 - 05:02:13
Evet kendi içinde de yapılabiliyorsa ne ala... Böyle daha kaliteli olmuş... hitokiri google a neden ping atma gereği duydun böyle bir programda.. Amaç 10 saniye çalışmak değil mi sadece? Anlamadım da...

Burada sormuştum ilk hitokiri... Yani programın amacı 10 sn çalışması ya... Neden ping attın google a böyle programa... Gerekli mi yani onu soruyorum =)
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

hitokiri

Alıntı YapBurada sormuştum ilk hitokiri... Yani programın amacı 10 sn çalışması ya... Neden ping attın google a böyle programa... Gerekli mi yani onu soruyorum =)
heheh :))
Alıntı Yapnedeni heralde allkill komutu kapandıktan sonra benim komutun çalısması
evet nedeni o olabilir zaten fonksiyon kendini ve komutu bitiriyor ::)

Mx0Ub

birde donuye gerek yok aslında b fonksiyo içinde çalıstırdımız da oda çalıscak ve 1 saniye sonra komutu kapatıcak.
sonra tekrar b fonkisyonu çalıstında tekrar çalışıcak
ama sorun su killall komutu kapanmadan diyer komuta gecmedinden .kaptıcak komut bulunamıyo :  )


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 04 Ağustos 2010 - 05:26:58

peki ben kabaca kodları paylassam yararı olurmu ?
Not:
Hic bi sorumluluk kabul edilmez yapılan yorumlardan ve verilen kodlardan

sem

İki fonksiyon yerine bir döngü işinize yaramıyor mu peki?

saniye = 0;
döngü
{
  * döngü başladı... Burada istediğiniz işlemi yapacaksınız
  * sleep ile 1 saniye uyuttuunuz...
  * saniyeyi bir arttınız
  if(saniye = 10)
    break;  //Yani saniye 10 eşitse süreci sonlandırdık
}

Şöyle bir yapıda sıkıntı çıkıyor mu? Bu şekilde fonksiyon kendi kendini sonlandırmış olacak zaten, döngüden çıkınca... ??
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

Mx0Ub

sem0900
döngü tam olarak su mu oluyo programı 10 saniyede bir kapatıyormu.
ve slep komutu kapatmıyor bekletiyor değilmi
aslında sunu yapmam gerekiyor
program çalıstıktan 1 saniye sonra kapanıcak.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 04 Ağustos 2010 - 05:37:29

sem0900
döngü tam olarak su mu oluyo programı 10 saniyede bir kapatıyormu.
ve slep komutu kapatmıyor bekletiyor değilmi
aslında sunu yapmam gerekiyor
program çalıstıktan 1 saniye sonra kapanıcak.
Not:
Hic bi sorumluluk kabul edilmez yapılan yorumlardan ve verilen kodlardan

hitokiri

Alıntı Yapsem0900
döngü tam olarak su mu oluyo programı 10 saniyede bir kapatıyormu.
ve slep komutu kapatmıyor bekletiyor değilmi
aslında sunu yapmam gerekiyor
program çalıstıktan 1 saniye sonra kapanıcak.
O zaman sadece şunlar yeterli
ping google.com & sleep 1 ; killall ping
& ile
; sonra

sem

Ben bash bilmiyorum... Fakat sleep büyük ihtimalle betiği sonlandırmayacaktır beklemeye alacaktır. Benim size gönderdiği şey aslında istediğiniz programın C dilindeki algoritması. C diline bu algoritmaya göre "istediğiniz işlemi yazacaksınız" dediğim yerde yazılan işlemi saniyede 10 kere yapıp sonlanır...

Siz programın tam olarak ne yapmasını istiyorsunuz? Siz programı açın tam olarak, ona göre bir algoritma belirleriz... Oluru varsa Anıl'ın yardımı ile yazarsınız...
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

Mx0Ub

cıktıda bunu veriyo
ping: hiçbir işlem bulunamadı
ben o zaman kodları yuklum bakalım


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 04 Ağustos 2010 - 05:53:40

bir dakka oldu heralde :  )
süreleri karsılatırım


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 04 Ağustos 2010 - 05:57:30

evet oldu normalde 1 dongu 50 saniye surerken.
10 saniye suruyor artık.
hepinize cok teşekurler.beni cok bunaltan bir sorundu gerçekten cok teşekkurler :  )
Not:
Hic bi sorumluluk kabul edilmez yapılan yorumlardan ve verilen kodlardan

sem

Ne demek yardımcı olduysak ne mutlu bize =) Fakat ben bir şey sormak istiyorum... Program nasıl çalışıyor şu anda? Ne şekilde çalışıyor tam olarak... Açılıyor 1 saniye sonra kapanıyor mu yoksa başlıyor çalışmaya 10 saniye sonunda sonlanıyor mu?
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?