Що означає ESRCH?


12

Немає: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html

Завжди досить зрозуміло, чому код errno названий особливим способом, крім цього. Як SRCH ставиться до Немає такого процесу ?


Можливо, grepабо pgrepповертає його через невдалий пошук у списку процесів.
кіт

Мій IDE, Atom , повертає ESRCH при пошуку списку пакетів, якщо немає підключення до Інтернету. Суто анекдотичний, і, мабуть, цілеспрямовано, а не за можливістю.
кіт

Відповіді:


11

POSIX killдокументує примітку "пошук":

[ESRCH]
Не можна знайти жодного процесу чи групи процесів, що відповідає тому, що вказано pid.

Попередній випуск (2004) дав в обгрунтування додаткової інформації:

Деякі реалізації надають семантичні розширення функції kill (), коли абсолютне значення pid перевищує деяке максимальне або інше особливе значення. Негативні значення - це прапор, який потрібно вбити (). Оскільки більшість реалізацій повертає [ESRCH] в цьому випадку, така поведінка не включена до цього обсягу IEEE Std 1003.1-2001, хоча відповідна реалізація може забезпечити таке розширення.


4

Рядок ESRCH виглядає загадковим, але після перегляду інших помилок та їх рядків: (взято з http://pubs.opengroup.org/onlinepubs/9699919799/functions/kill.html )

  • [EINVAL] Значенням аргументу sig є недійсний або непідтримуваний номер сигналу.
  • [EPERM] Процес не має дозволу на надсилання сигналу в будь-який процес прийому.

Здається логічним, що E означає помилку, INVAL - недійсну, PERM - дозвіл. У цьому ж логічному рядку SRCH позначає пошук.

Помилка пошуку групи pid / pid.


Ласкаво просимо до U&L! Я бачу, що ви посилалися на функцію вбивства та дві інші помилки, але я ще не бачу жодних підтверджень для запитання: як "SRCH" відноситься до "Немає такого процесу"?
Джефф Шаллер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.