1. Uruchamiam skrypt ze startem Ubuntu, który dynamicznie zaczytuje parametr z pliku [OK]
2. Skrypt ten zapisuje swój PID do pliku [OK]
3. Skrypt ten wywołuje plik bin, który wykonuje się cały czas, kiedy system działa [OK]
4. Przy zamykaniu systemu potrzebuje zakończyć skrypt, odczytać jego output i zapisać do pliku [PROBLEM]
W ogóle to zrobiłem 2 skrypty - ale może da się to zrobić inaczej i nie potrzebnie kombinuje:
1. script.sh - startuje podczas uruchamiania systemu
Kod: Zaznacz cały
#!/bin/bash
re='^[0-9]+$'
cd /home/piotr/hashcat-0.47/
echo $$ > /home/piotr/hashcat-0.47/pid.txt # zapisujemy id TEGO procesu do pliku
param=$(cat /home/piotr/hashcat-0.47/file.txt) # pobieramy dynamiczny parametr z pliku, jeśli pusty lub nie jest liczbą to dajemy domyślną wartość
if [[ -z "$param" || ! "$param" =~ $re ]]; then
param=400000
echo $param > /home/piotr/hashcat-0.47/file.txt
fi
# to poniżej wykonuje się cały czas ale przy zamykaniu systemu muszę jak gdyby przechwycić akcję na tym procesie i wykonać operację zapisu outputu do pliku files.
./hashcat-cli32.bin -m 400 -a 3 --pw-min=12 --pw-max=12 -o rockyou.txt --remove hashfile.all -s $param ?l?u?d?l?u?d?l?u?d?l?u?d?l?u?d?l?u?d?l?u?d?l?u?d?l?u?d?l?u?d?l?u?d?l?u?d
Kod: Zaznacz cały
#!/bin/bash
# odczytuje pid procesu
param=$(cat /home/piotr/hashcat-0.47/pid.txt)
re='^[0-9]+$'
cd /home/piotr/hashcat-0.47/
# jesli pid byl pusty lub nie byl liczba to exit
if [[ -z "$param" || ! "$param" =~ $re ]]; then
exit
fi
# i co teraz zrobić aby wypisać output z procesu dla którego mam PID i zapisać go do pliku ?