Включает ли поле
procs_running
в/ proc / stat
текущий процесс, который запрашивает procfs?Да, включает. Псевдофайл
/ proc / stat
создается вfs / proc / stat.c
в ядре Linux путем вызоваnr_running ()
.Функция
nr_running ()
определена вkernel / sched / core.c
, которая просто суммирует все счетчики процессов для каждого процессора. Текущий процесс здесь не обрабатывается каким-либо особым образом, поэтому он включается в подсчет.Должны ли мы ожидать, что в абсолютно незанятой системе значение будет 0 или 1?
Поскольку процесс должен читать псевдофайл, чтобы ядро сгенерировало содержимое, и такой процесс всегда подсчитывается функцией ядра
nr_running ()
, мы всегда должны ожидать, что он будет не меньше 1.
Используйте dd bs = 4k conv = sync, noerror if = disabled_source_image of = destination_image
С noerror
, dd
продолжит работу после обнаружения ошибки чтения. При sync
непрочитанные байты (из-за ошибки чтения) будут записаны как нули.
См. этот вопрос для более подробного обсуждения этого вопроса.