November 2012
Intermediate to advanced
888 pages
54h 46m
Polish
Potrzebny jest łatwy sposób niszczenia wszystkich działających procesów określonego użytkownika, które wymknęły się spod kontroli.
Można skorzystać z metody Process.kill w celu przesłania sygnału systemu Unix (włącznie z „zabójczym” sygnałem SIGTERM lub jeszcze bardziej „zabójczym” sygnałem SIGKILL) z poziomu kodu w Ruby. Jak jednak uzyskać listę procesów wybranego użytkownika? Najprostszym sposobem jest wywołanie uniksowego polecenia ps i przeanalizowanie wyniku. Uruchomienie polecenia ps -u#{nazwa_uzytkownika} zwraca listę procesów wskazanego użytkownika.
#!/usr/bin/ruby -w # banish.rb def signal_all(username, signal) lookup_uid(username) killed = 0 %x{ps ...Read now
Unlock full access