การตั้งค่าไร้สายของฉันล้มเหลววันละหลายครั้งการรีสตาร์ทตัวจัดการเครือข่ายของ gnome จะช่วยได้ ฉันต้องการทำให้เป็นแบบอัตโนมัติและแฮ็กข้อความต่อไปนี้:
#!/usr/bin/perl
use strict;
use warnings;
my $result = system "ping -c1 -W1 192.168.1.1";
if ($result != 0) {
print "No connectivity. Action required...\n";
my $pid = `pgrep nm-applet`;
if ($pid) {
print "Killing current nm-applet instance $pid\n";
system "kill $pid";
}
print "Starting nm-applet...";
exec "nm-applet" or die "couldn't start nm-applet";
} else {
print "Looks all fine. No action required\n";
}
การทดสอบครั้งแรกของฉันคือการฆ่า nm-applet ด้วยมือแล้วเรียกใช้สคริปต์ด้วยตนเอง มันตรวจไม่พบการเชื่อมต่อและเพียงแค่ "morphs" ไปยัง nm-applet เช่นเดียวกับที่ตั้งใจไว้
ตอนนี้การทดสอบเดียวกัน แต่ดำเนินการโดยงาน cron ต่อไปนี้:
*/1 * * * * /home/joe/netcheck.pl >> /home/joe/netcheck.log &
เอาต์พุตใน netcheck.log เป็นเพียง "กำลังเริ่มต้น nm-applet ... " แต่ไม่ได้เริ่มต้น กระบวนการจะตายทันที
ความช่วยเหลือหรือวิธีการแก้ปัญหาอื่น ๆ อาจชื่นชม