Chciałbym uruchomić i skonfigurować proces podobnie do demona ze skryptu.
Moja powłoka jest emulowana zsh pod Cygwin, a demonem jest SFK , podstawowy serwer FTP.
Dla tego, co jest ważne, skrypt startserv.shmożna napisać w następujący sposób:
#!/bin/sh
read -s -p "Enter Password: " pw
user=testuser
share=/fshare
cmd="sfk ftpserv -user=$user -pw=$pw -usedir $share=$share"
$cmd &
Po uruchomieniu skryptu startserv.shzatrzymuje się (kończy?) Bez wyświetlania monitu, a następnie:
CTRL+ Ckończy zarówno proces skryptu, jak i proces zadania w tle;
Naciśnięcie Enterskryptu kończy proces pozostaje w tle.
W każdym razie widzę to tylko przez, psa nie jobs, więc kiedy chcę zakończyć proces, muszę wysłać brutalny kill -9sygnał, czego chciałbym uniknąć na korzyść CTRL+ C.
Alternatywą byłoby uruchomienie całego skryptu w tle. „Byłoby”, ale readpolecenie nie może uzyskać danych wejściowych użytkownika, jeśli skrypt jest uruchamiany jako startserv.sh &.
Zauważ, że potrzebuję efemerycznego serwera, a nie prawdziwego demona : chcę, aby proces serwera działał w tle, po zakończeniu skryptu, aby wykonywać proste zadania powłoki interaktywnej (z gościem maszyny wirtualnej), ale nie „ potrzebuje procesu, aby przetrwać pocisk; dlatego nohupwydaje się niewłaściwe.
bgproc="$!"a następniecommand "$bgproc"wykonaj odpowiednie działanie. Zobacz także stackoverflow.com/questions/1908610/…