Lenovo X220 отключается при приостановке работы в режиме оперативной памяти

Во-первых, что не может работать в вашем скрипте:

exec 3>&${test[0]}

В результате coproc ${test[0]}представляет собой файловый дескриптор, предназначенный для чтения, а не для записи. Предполагая, что вы имеете в виду3<&${test[0]}

input <&3 &>4 &

Во-первых, &>4означает «перенаправить stdout и stderr в файл с именем 4», вы, вероятно, имеете в виду >&4. Так как FD #4 является входом testcoproc (, который не считывается тестом BTW ), перенаправление не имеет особого смысла.

output <&4 &

Если бы не опечатка, FD #4 был бы дескриптором выходного файла (, привязанным к стандартному вводу coproc ), вы не можете читать из него.


Теперь я постараюсь дать вам рабочий код, если вы хотите:

  • один фоновый процесс input, который читает из FD #3 и отправляет все в outputс добавлением «отправлено» к каждой строке.
  • другой фоновый процесс output, который читает все, что inputотправляет, добавляет перед словом «получено», выполняет некоторую обработку строк и записывает результат в стандартный вывод

Обычно это было бы так просто:

test() for i in {0..9}; do sleep 1; echo $i; done    # No coproc

input() while read gr; do echo sent: $gr; done       # Reads from stdin, not FD #3

# output() unmodified

exec 3> >(input | output)
test >&3

Но у меня сложилось впечатление, что по какой-то причине вы хотите создать inputи outputотдельно и поместить testв фоновом режиме. Тогда попробуйте это:

exec 4> >(output)
output_PID=$!

exec 3> >(input >&4)
input_PID=$!
exec 4>&-

test >&3 &
wait
0
24.11.2019, 23:13
1 ответ

Я исправил! Виновата была память... или что-то с памятью.

И да -Я тестировал его раньше (Memtest был одним из первых средств диагностики, которые я запускал ). Но он не сообщил о каких-либо проблемах. Но несколько дней назад я удалил один из модулей оперативной памяти (, там было 2 x 4 ГБ ). После этого (на 4 ГБ )проблем больше не было. Я поменял оба модуля и теперь у меня снова 8GB (2x4GB ). Еще несколько дней нормально работает. Я также снова протестировал модули с помощью memtest, никаких проблем, как раньше.

Интересное поведение при проблеме с оперативной памятью. Я надеюсь, что кто-то с той же проблемой наткнется на этот ответ.

0
28.01.2020, 03:05

Теги

Похожие вопросы