Запишите вывод программы в файл журнала, содержащий PID на его имя

Решение для Грубой силы, кажется,

  1. зарегистрируйте диапазон памяти текущей конфигурации
  2. выключите, удалите рассматриваемое DIMM и весь DIMMs выше его
  3. перезагрузка, рассмотрите новую конфигурацию.
2
23.06.2014, 02:30
4 ответа
[116105] Так нельзя делать из оболочки, потому что командная строка создается еще до вызова программы. По сути, у вас есть два варианта:

1) Создать имя файла и записать его из программы (легко, если это скрипт оболочки)

+---+---------------+------------+------------+
|   | A             | B          | C          |
+---+---------------+------------+------------+
| 1 | col1, line1a  |            |            |
|   | col1, line1b  |            |            |
|   | col1, line1c  | col2, row1 | col3, row1 |
| 2 | col1, row2    | col2, row2 | col3, row2 |
+---+---------------+------------+------------+

2) Создать именованный канал, сделать фоновым процесс, а затем перенаправить канал в файл. Подобно

"col1, line1a
col1, line1b
col1, line1c","col2, row1","col3, row1"
"col1, row2","col2, row2","col3, row2"

1
27.01.2020, 21:57
[116169] Если вы говорите о скрипте, я думаю, что это то, что вам нужно...

, который выдал этот вывод

enter image description here

2
27.01.2020, 21:57
[117275]Вы не сможете узнать PID до тех пор, пока процесс не начнется. Поэтому вам нужно сначала запустить процесс, затем создать лог-файл, затем выполнить программу, которую вы хотите запустить ([117626]exec[117627] заменяет вызывающую оболочку на данную программу, она не вилкирует новый процесс).[1297]$![117629] - это PID последней программы, запущенной в фоновом режиме, и здесь вам не поможет.[1298]Или же вы можете создать лог-файл под временным именем, запустить программу, а затем переименовать лог-файл, но это ненужно усложнять.[117280].
1
27.01.2020, 21:57
[116215] Это не дает прямого ответа на вопрос, но я бы спросил, зачем мне [116592] нужен[116593] файл с [116594]pid[116595] в названии. Если это просто уникальное имя файла, который вы ищете, то есть более надежные способы сделать это. В большинстве Unices есть команда [116596]mktemp[116597] (к сожалению, это не POSIX). Используя GNU [116598]mktemp[116599], вы можете сделать:

Если вам нужно получить доступ к файлам позднее, то может быть полезно включить дату/время в имя файла:

# hwclock --systohc

Если вы хотите убедиться, что запущен только один экземпляр определенного процесса, то под Linux вы можете использовать [116600]flock[116601]:

# hwclock --hctosys
Иначе, если Вы хотите, чтобы другая программа прочитала вывод [116602]program_a[116603], пока она все еще выполняется, то использование файла, безусловно, является последним способом. Гораздо лучше использовать трубку или именованную трубку в соответствии с ответом [116604]orion[116605].[116222].
1
27.01.2020, 21:57

Теги

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