Co oznacza ESRCH?


12

Poza: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html

Zawsze jest całkiem jasne, dlaczego kod errno jest nazywany szczególnym sposobem, z wyjątkiem tego. Jak SRCH odnosi się do takiego procesu ?


Prawdopodobnie greplub pgrepzwraca go z powodu niepowodzenia przeszukiwania listy procesów.
kot

Moje IDE, Atom , zwraca ESRCH podczas przeszukiwania listy pakietów, jeśli nie ma połączenia z Internetem. Czysto anegdotyczna i prawdopodobnie celowa, a nie przypadkowa.
kot

Odpowiedzi:


11

POSIX killdokumentuje konotację „wyszukiwania”:

[ESRCH]
Nie można znaleźć żadnego procesu lub grupy procesów odpowiadających temu określonemu przez pid.

Poprzednie Wydanie (2004) dał w informacji Uzasadnieniem więcej:

Niektóre implementacje zapewniają semantyczne rozszerzenia funkcji kill (), gdy wartość bezwzględna pid jest większa niż pewna maksymalna lub w inny sposób specjalna wartość. Wartości ujemne są flagą do zabicia (). Ponieważ w tym przypadku większość implementacji zwraca [ESRCH] , takie zachowanie nie jest uwzględnione w tym tomie IEEE Std 1003.1-2001, chociaż zgodna implementacja może zapewnić takie rozszerzenie.


4

Ciąg ESRCH wygląda tajemniczo, ale po przyjrzeniu się innym błędom i ich ciągom: (wzięty z http://pubs.opengroup.org/onlinepubs/9699919799/functions/kill.html )

  • [EINVAL] Wartość argumentu sig jest nieprawidłowym lub nieobsługiwanym numerem sygnału.
  • [EPERM] Proces nie ma pozwolenia na wysłanie sygnału do żadnego procesu odbiorczego.

Wydaje się logiczne, że E oznacza błąd, INVAL oznacza nieważność, a PERM - pozwolenie. W tym samym logicznym wierszu SRCH oznacza wyszukiwanie.

Błąd wyszukiwania pid / pid group.


Witamy w U&L! Widzę, że odwoływałeś się do funkcji zabicia i dwóch innych błędów, ale nie widzę jeszcze żadnych dowodów potwierdzających na pytanie: Jak „SRCH” odnosi się do „Brak takiego procesu”?
Jeff Schaller
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.