Процесс VS Поток в командах Что запускается первым?

Если да:

alias foo="...'{print $5 $1 $2 $3 }'"

Позиционные параметры будут расширены при установке псевдонима. В конце концов, они находятся внутри строки в двойных -кавычках. Вы этого не хотите, поэтому вам пришлось экранировать их с помощью обратной косой черты. В качестве альтернативы вы могли бы поместить весь текст псевдонима в одинарные -кавычки, но поскольку вы хотите использовать одинарные кавычки в псевдониме, это становится довольно сложно.

Тем не менее, \nдолжно быть хорошо в двойных кавычках.

В любом случае вам, вероятно, следует использовать вместо этого функцию. Таким образом, вам не нужно думать о дополнительном уровне цитирования команд.

mycommand() {
    find./ -type f -name filename.ext -exec grep 'information' {} + |
       sort |
       awk -v OFS='\n' '{print $5, $1, $2, $3 }'
}
0
29.04.2020, 22:54
1 ответ

Потоки являются частью процесса, поэтому ОС инициирует процессы перед созданием потоков.

Когда вы вызываете программу, ОС делает следующее-

  • загружает код и данные в память
  • создает и инициализирует блок управления процессом (PCB)
  • создает первый поток со своим стеком вызовов
  • присваивает начальные значения «сохраненному состоянию» потока
  • объявляет поток диспетчеру

Диспетчер — это самая внутренняя часть ОС, работающая на каждом ядре и управляющая выполнением процессов и потоков на основе критерия планирования.

Диспетчер теперь-

  • некоторое время запускает поток
  • сохраняет свое состояние
  • загружает состояние другого потока
  • выполняет это какое-то время..

ОС использует прерывания/ловушки, чтобы получить управление от диспетчера. Я упростил шаги, чтобы помочь вам лучше понять.

-1
28.04.2021, 23:17

Теги

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