Se você estiver usando bash , você pode tentar este pequeno script:
#!/bin/bash
while IFS= read -r host; do
[[ $(ping -c4 "$host") ]] 2>/dev/null && echo "$host" >> /path/to/result.txt
done < /path/to/domains.txt
Aqui, assumi que os hosts em domains.txt são separados por nova linha.
EDITAR:
Aqui está o script modificado com ping sendo detalhado (sumarizado) e assumindo que o diretório /path/to/directory/ contém os arquivos domains-01.txt , domains-02.txt etc.
#!/bin/bash
for file in /path/to/directory/domains-*.txt; do
while IFS= read -r host; do
ping -qc4 "$host" && echo "$host" >> /where/to/save/result.txt
done < "$file"
done
Se você quiser o comportamento de pausa no currículo, consulte SIGTSTP / SIGSTOP e SIGCONT sinais que podem ser emitidos com kill e comandos semelhantes, por exemplo se o PID do processo for 2773, então:
Para suspender: kill -TSTP 2773 , para retomar: kill -CONT 2773 .