Как мне удалить ошибку при записи в /tmp/cc6sZ4kE.s: На устройстве не осталось места? [закрыто]

Я думаю, что эта часть справочной страницы clone(2) может прояснить разницу. PID:

CLONE_THREAD (начиная с Linux 2.4.0-test8)
Если CLONE_THREAD установлен, дочерний элемент помещается в тот же поток group в качестве вызывающего процесса.
Группы потоков были добавлены в Linux 2.4 для поддержки Потоки POSIX — это набор потоков, которые совместно используют один ПИД. Внутренне этот общий PID является так называемым потоком. идентификатор группы (TGID) для группы потоков. Начиная с Linux 2.4 вызовы getpid(2) возвращают TGID вызывающей стороны.

Фраза «потоки реализованы как процессы» относится к проблеме, связанной с тем, что в прошлом у потоков были отдельные идентификаторы PID. По сути, в Linux изначально не было потоков внутри процесса, а были только отдельные процессы (с отдельными PID), которые могли иметь некоторые общие ресурсы, такие как виртуальная память или файловые дескрипторы. CLONE_THREAD и разделение идентификатора процесса(*) и идентификатора потока делают поведение Linux более похожим на другие системы и больше на требования POSIX в этом смысле. Хотя технически ОС по-прежнему не имеет отдельных реализаций для потоков и процессов.

Обработка сигналов была еще одной проблемной областью в старой реализации, это описано более подробно в статье. @FooF ссылается на в своем ответе.

Как отмечено в комментариях, Linux 2.4 также был выпущен в 2001 году, в том же году, что и книга, так что неудивительно, что новости не попали в эту печать.

0
26.05.2017, 02:08
1 ответ

«Нет свободного места на устройстве» означает, что диск заполнен. Вам нужно освободить место на диске (, разделе ), содержащем /tmp, или, точнее, в файловой системе, содержащей /tmp.

Это не имеет ничего общего с содержимым программы (, если только вам не удалось написать программу, которая компилируется в много -гигабайтный двоичный файл ).

Проверить, где находится /tmpи сколько свободного места:

df /tmp

Если /tmpявляется собственной файловой системой (, в столбце «Смонтировано» )указано /tmp, тогда проверьте, где используется пространство:

du /tmp | sort -n

Посмотрите на каталоги в конце списка. Чтобы увидеть самые большие файлы в каталоге, запустите, например.

ls -lrS /tmp

Если /tmpнаходится в корневой файловой системе (, в столбце «Mounted on» в выводеdf /tmp)указано /, тогда вам нужно освободить место на диске. См. Как понять, что занимает место на диске?

6
28.01.2020, 02:15

Теги

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