На моем поле F17 я все еще имею /boot/grub/splash.xpm.gz
который предназначен, чтобы быть экраном-заставкой личинки. Это содержится в fedora-logos
пакет. Каталог не содержит ничто иное. Мое предположение, это будет зафиксировано рано или поздно.
Одним из вариантов для быстрого теста можно использовать ядро с поддержкой KGDB и остановить ядро вручную и тестирование, см. Эта ссылка .
На другой ноте вещи, которые я помню, что может вызвать ваши паузы:
CAT / SYS / УСТРОЙСТВО / СИСТЕМЫ / CPU / CPU0 / CPUFREQ / CPUINFO_TRANSITY_LATENCY
, значение находится в NS (4000 В моем AMD FX (TM) -8120-8-ядерный процессор) не должен быть проблемой, но проверять CAT / SYS / MODULE / PCIE_ASPM / Параметры / Политика
) / SYS / BUS / PCI / устройствах / $ устройством / Power / Control
Не уверен, что он поможет. Но если вы можете написать модуль ядра, который вызывает приостановку
функцию модуля ядра другого устройства, который может сделать.
Каждое устройство PCI может быть подвешено в соответствии с файлом заголовка http://www.cs.fsu.edu/~baker/devices/lxr/http/source/linux/include/linux/pci.h## L479
Например, вот функция приостановления Intel E1000 NIC http://www.cs.fsu.edu/~baker/devices/lxr/http/source/linux/drers/net/e1000e/netdev.c.c # L4643
Из того, что я могу вспомнить, эта функция была в основном использована, когда система отправляется в гибернацию, драйвер устройства должен сохранить текущий загородный статус и выключить.
Сначала необходимо проверить, подключен ли процесс к терминалу.
$ ps -eo comm,tty | grep fsck
Теперь, если вы по-прежнему можете видеть значение TTY рядом с вашим процессом, вы по-прежнему можете получить его вывод (из этого TTY). Текущий идентификатор TTY можно получить с помощью tty
. Однако, если рядом с вашим процессом есть ?
, боюсь, вы не сможете получить его вывод в любом случае (если вы не использовали что-то вроде экрана
).
Если процесс все еще подключен к работающему терминалу, можно вернуть процесс на передний план с помощью fg
(в этом терминале, конечно):
$ jobs
$ fg [job ID]
задания
выдадут идентификатор, связанный с запущенным процессом fsck.ext4
. Затем используйте его при вызове fg
. Можно также вызвать fg
без аргументов, если в фоновом режиме имеется только одно задание.
Я не знаком с fsck.ext4
, но используемый вами переключатель -t
, похоже, печатает статистику (отредактируйте: также как и параметр -C 0
). Вернув процесс на передний план, вы получите этот вывод обратно. Однако, если fsck.ext4
не был запущен с подробными параметрами, он не будет печатать ничего, независимо от того, находится ли он на переднем плане или в фоновом режиме. В этом случае можно просто проверить, выполняется ли он по-прежнему с помощью ps
.
Когда вы закончите, просто нажмите Ctrl + Z , чтобы снова отправить процесс в фоновом режиме. Будьте осторожны, если процесс подключен к терминалу (то есть, если программа принадлежит сеансу управления терминала), то закрытие терминала отправит SIGHUP
процессу и убьет его (если только вы не заставили fsck.ext4
игнорировать SIGHUP
).
Следующее, кажется, работает просто хорошо в моем sh
:
$ myvar="test"
$ echo "My var is $myvar."
My var is test.
Нет необходимости эхо
значение переменной и поймать его снова в другой. Здесь приводится немного больше информации о присвоениях переменных .
Объект , OSTYPE
не определен в среде sh
. Вам придется передать его при выполнении сценария. Так что, вместо того, чтобы бежать...
$ /bin/sh yourscript.sh
or
$ ./yourscript.sh
Необходимо выполнить:
$ OSTYPE=$OSTYPE /bin/sh yourscript.sh
or
$ OSTYPE=$OSTYPE ./yourscript.sh
Конечно, предполагается, что родительская оболочка, в которой вводится приведенная выше команда, имеет переменную OSTYPE
. В то время как bash
делает, это не случай каждой оболочки. Вместо $ OSTYPE
можно использовать uname
:
$ OS=$(uname -o)
$ echo "My OS is $OS."
My OS is GNU/Linux.
$ echo "My OS is $(uname -o)."
My OS is GNU/Linux.
На моей машине для переменной OS
устанавливается значение GNU/Linux
, а не linux-gnu
(которое является содержимым моего OSTYPE
).
В качестве дополнительного примечания я предполагаю, что эквивалент вашего кода может быть:
$ myvar="$(echo $OSTYPE)"
$ echo "My var is $myvar."
My var is linux-gnu
-121--244812- Можем ли мы получить более подробную информацию о том, как ваше приложение взаимодействует с FPGA? Приложение, считывающее буфер из FPGA,или FPGA, который отправляет прерывания ядру (например, сетевым картам)?
Я ожидаю, что он откроет блок/символ в/dev, а затем свяжется с ним. Это означает, что для коммуникации между приложением и файлом/dev/XXX используется драйвер.
Я хотел бы получить результат:
cat/proc/intrupts
; lsmod
; ls -al/dev/yourmod
Вот какие идеи:
Предоставьте всю необходимую информацию.
Я думаю, что вы думаете не в том направлении. Ваша цель ясна.
Способ заключается не в том, чтобы остановить остальные процессы, а в том, чтобы дать вашим основным процессам приоритет планирования в режиме, близком к реальному времени. Для этого используйте nice для ваших важных процессов в пользовательском пространстве.
Более сложной проблемой является обработка прерываний PCIe, которая находится в пространстве ядра.
Поскольку здесь задействовано аппаратное обеспечение, вам следует начать более внимательно изучать задействованную полосу PCIe на вашей материнской плате и то, как она может быть связана с конкретным сокетом процессора.
irqbalance обычно хорошо справляется с этой задачей, но вы можете настроить его поведение в соответствии с вашими потребностями.