Как я могу назвать выходные данные скомпилированного исходного файла определенным образом?

Это можно сделать тремя способами.

Используйте правильную цепочку команд загрузки -.

Вместо использования оболочки, встроенной -в команду ulimit, используйте команды, разработанные для этой цели, из различных наборов инструментов семейства daemontools -:

Таким образом, можно запустить, используя softlimitиз набора инструментов nosh в качестве примера:

gnome-terminal -t A --tab -e "softlimit --coresize unlimited./app1"

Использовать подоболочку внутри скрипта.

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

(ulimit -c unlimited ; urxvt -e "./app1")

Обратите внимание, что это не будет работать с терминалом GNOME или клиентским -серверным вариантом Unicode RXVT . Оба они не вызывают напрямую эмулятор терминала как дочерний элемент вашего скрипта. Они выполняют удаленный вызов через серверный процесс, который не будет иметь ограничений ресурсов, установленных в вашем сценарии, и не получит их.

Заставить терминал GNOME запускать оболочку, которая работает ulimit.

Помните, что вы должны строить это снизу вверх.

  1. Вы хотите, чтобы реальная оболочка выполняла работу по запуску списка команд
    ulimit -c unlimited ; exec "./app1"
  2. Чтобы передать этот список команд в sh, он должен быть одним аргументом после -c, поэтому его необходимо заключить в кавычки:
    sh -c "ulimit -c unlimited ; exec \"./app1\""
  3. Чтобы передать вызов shтерминалу GNOME, он также должен быть одним аргументом после -e,поэтому необходимо применить второй уровень цитирования:
    gnome-terminal -e 'sh -c "ulimit -c unlimited ; exec \"./app1\""'

-5
15.10.2020, 00:27
1 ответ

Учитывая, что

$ g++ file.C -o file

создаст исполняемый файл с именем file, можно было бы надеяться экстраполировать это

$ g++ file.C -o helloworld.out

создаст упавший исполняемый файл helloworld.out.

4
18.03.2021, 22:57

Теги

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