আমি এমন একটি স্ক্রিপ্ট লেখার চেষ্টা করছি যা আমার ল্যানে সমস্ত হোস্টকে তালিকাভুক্ত করে (সেখানে প্রায় 20 জন) এবং প্রতিটি হোস্টের পাশের পিং স্থিতি লিখছে। আমার কাছে ডিএইচসিপি ইজারা ফাইল রয়েছে, সুতরাং আমার কাছে সমস্ত আইপি রয়েছে (বলুন, 10.0.0.1, 10.0.0.2, ইত্যাদি), আমার কেবল দরকার প্রতিটি হোস্টের পিং স্ট্যাটাস।
সুতরাং, আমার স্ক্রিপ্ট প্রতিটি হোস্টের জন্য একটি একক পিং চালু করে:
ping -c 1 10.0.0.1
দুর্ভাগ্যক্রমে, যখন কোনও হোস্ট অফলাইনে থাকে, পিং সময়সীমা শেষ করতে অনেক সময় নেয়। আমি পরীক্ষা করে দেখেছি man ping
, টাইমআউট বিলম্ব সেট করার জন্য দুটি বিকল্প রয়েছে বলে মনে হচ্ছে: -w deadline
এবং -W timeout
। আমি মনে করি আমি পরবর্তীকালে আগ্রহী।
সুতরাং আমি এটি চেষ্টা করেছি:
ping -c 1 -W 1 10.0.0.1
তবে অফলাইন হোস্টের জন্য এক সেকেন্ড অপেক্ষা করা এখনও অনেক দীর্ঘ। আমি এটিকে এক সেকেন্ডের নীচে সেট করার চেষ্টা করেছি, তবে এটি প্যারামিটারটিকে মোটেই বিবেচনা করবে বলে মনে হচ্ছে না:
ping -c 1 -W 0.1 10.0.0.1 # timeout option is ignored, apparently
টাইমআউটটি কি কোনও কম মূল্যে সেট করার কোনও উপায় আছে? যদি না হয়, কোন বিকল্প আছে?
সম্পাদন করা
- ওএস হ'ল ডেবিয়ান লেনি।
- আমি যে হোস্টগুলি পিং করার চেষ্টা করছি সেগুলি আসলে অ্যাক্সেস পয়েন্ট। তারা ব্যবহারকারীদের মতো একই ভ্যালান এবং সাবনেটে রয়েছে (সরলকরণ এবং প্রতিস্থাপনের সরলতার জন্য)। এই কারণেই আমি সমস্ত সাবনেট স্ক্যান করতে চাই না (
ping -b
উদাহরণস্বরূপ)।
সম্পাদনা # 2
আমি fping
সমাধানটি গ্রহণ করেছি (অন্য সমস্ত উত্তরের জন্য ধন্যবাদ) এই কমান্ডটি আমি যা খুঁজছিলাম ঠিক তাই করে:
fping -c1 -t500 10.0.0.1 10.0.0.2 10.0.0.3 10.0.0.4
এই কমান্ডটি কমপক্ষে 500 মিমি সময় নেয় এবং আমাকে একবারে সমস্ত হোস্টের পিং স্ট্যাটাস দেয়:
10.0.0.1 : [0], 84 bytes, 5.71 ms (5.71 avg, 0% loss)
10.0.0.2 : [0], 84 bytes, 7.95 ms (7.95 avg, 0% loss)
10.0.0.3 : [0], 84 bytes, 16.1 ms (16.1 avg, 0% loss)
10.0.0.4 : [0], 84 bytes, 48.0 ms (48.0 avg, 0% loss)
10.0.0.1 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 5.71/5.71/5.71
10.0.0.2 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 7.95/7.95/7.95
10.0.0.3 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 16.1/16.1/16.1
10.0.0.4 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 48.0/48.0/48.0
ডেবিয়ান লেনিতে, ইনস্টলেশনটি নগণ্য:
aptitude update
aptitude install fping