Dyskusja: Linux
Podgląd pojedynczego posta
Stary 03.01.2014, 23:16   #298
andy
logged out
CDRinfo VIP
 
Avatar użytkownika andy
 
Data rejestracji: 12.07.2003
Lokalizacja: /home
Posty: 12,518
andy jest wzorem do naśladowania <650 - 999 pkt>andy jest wzorem do naśladowania <650 - 999 pkt>andy jest wzorem do naśladowania <650 - 999 pkt>andy jest wzorem do naśladowania <650 - 999 pkt>andy jest wzorem do naśladowania <650 - 999 pkt>andy jest wzorem do naśladowania <650 - 999 pkt>andy jest wzorem do naśladowania <650 - 999 pkt>andy jest wzorem do naśladowania <650 - 999 pkt>
Jak wykonać dwa "programy" w jednym poleceniu w bashu, które ze sobą rozmawiają?

Chodzi mi konkretnie o dd i wypisywanie statystyk. dd jest tak bardzo upośledzone, że nie pokaże statystyk do momentu aż go nie szturchniesz przez przesłanie sygnału USR1 do niego via kill. Aby sobie zautomatyzować pobieranie statystyk z dd zrobiłem to co jest podane w manualu dd, tylko zrobiłem to moim zdaniem w bardziej przyjazny sposób.

W pierwszym oknie odpalam dd:
Kod:
andy@nabuchodonozor:~/Pulpit$ dd if=/dev/zero of=dupa ibs=1MB count=3000
dd pobiera dane z /dev/zero w porcjach po 1MB. Pobiera takich porcji w ilości 3k sztuk == 3GB i zapisuje do pliku dupa.

W drugim oknie wywołuję kill'a z przełącznikiem USR1 co 10 sekund:
Kod:
watch -n 10 -g kill -USR1 `ps -A | pgrep -x dd`
watch -n 10 -g: wykonuje do momentu zmiany wyjścia polecenie co 10 sekund.
kill -USR1: wysyła sygnał USR1 do procesu dd
`ps -A | pgrep -x dd`: pobiera PID procesu dd

Czy da się to zapisać w jednym oknie i odpalić?
__________________
XMPP: andrzej(at)czerniak.info.pl
andy jest offline   Odpowiedz cytując ten post