Версия фиктивного драйвера не соответствует версии вашего сервера Xorg:
/usr/lib/xorg/modules/drivers/dummy_drv.so: undefined symbol: ChangeWindowProperty
Убедитесь, что ваш фиктивный пакет драйвера соответствует версии ABI пакета Xorg.
Из-за того, чтоhttps://mywiki.wooledge.org/BashPitfalls#Non-atomic_writes_with_xargs_-P(вывод параллельных заданий в xargs
может быть смешанным ), я бы вместо этого использовал GNU Parallel:
cat infile |
parallel -P0 -q curl {} -o /dev/null --silent --head --write-out "%{http_code} {}\n" > outfile
В данном конкретном случае использование xargs
может быть безопасным, потому что вывод такой короткий, поэтому проблема с использованием xargs
заключается скорее в том, что если кто-то позже изменит код, чтобы сделать что-то большее, он больше не будет безопасно. Или, если кто-то читает этот вопрос и думает, что может заменить curl
чем-то другим, то это тоже может быть небезопасно.
Это может быть быстрее:
doit() {
while read LINE; do
curl -o /dev/null --silent --head --write-out "%{http_code} $LINE\n" "$LINE"
done
}
export -f doit
parallel -j0 --pipepart -a infile --block -10 doit > outfile
вы можете разделить свой список URL-адресов, например, на. 10 частей и использовать основной сценарий аля
./subscript1.sh &
./subscript2.sh &
...
./subscript10.sh &
для параллельного запуска. Предостережение :Они должны использовать отдельные файлы журналов.