Wpis z mikrobloga

Hej #programowanie!
Mam skrypt w bashu, który wywołuje program pythona , który na końcu czeka na naciśnięcie q, żeby się zakończył. (python działa w tle). Po uruchomieniu procesu pythonowego bash wypisuje mi jego pid a potem wywala mi błąd: eoferror when reading a line. Jak mam to zrobić żeby wywołać na luzie skrypt w bashu, sprawdzić np. htopem proces a potem zakończyć działanie pythona?

#programista15k #programowanie #python #linux #bash #naukaprogramowania
  • 9
@MarcinOrlowski: #!/bin/bash

size=$1
echo "Process will grow to $1 mB"

chmod a+x LinkedList3.py
python3 ./LinkedList3.py $1 &

process_id=$(ps aux | grep ./LinkedList3.py | head -n 1 | awk '{print $2}')
echo "PID is = $process_id"

memory=$(pmap $process_id | tail -1 | awk '{print $2}' | cut -dK -f 1)
echo "Current memory is $memory"

@TheRickestRick: czasem użycie & nie zapamiętuje pida w zmiennej $!
Niemusisz się potem o niego pytać.
Pozatym jak go odpaliłeś w tle to chyba niemoże czytać z wejścia więc czekanie w pythonie na q jest bez sensu
Możesz przykładowo czekać na sygnał, a z basha wysłać go kilem do pythona, ewentualnie poprostu wysyłać SIGINT.