Как проверить детали реализации команды 'watch'?

Чтобы максимизировать обучение, я закончил клонированием всего исходного кода Linux из github . Я хотел проверить, как в нем реализована команда 'watch', но код слишком велик, чтобы возвращать что-нибудь полезное, когда я пытаюсь выполнить grep 'watch'. Мне было интересно, если кто-нибудь из вас может помочь.

0
задан 2 January 2014 в 21:50

3 ответа

Кроме того.

Он находится в пакете procps.

Например, если вы будете искать на страницах man ubuntu, обычно будет сказано, какой пакет предоставляет код. (Вот так)

Исходный код можно найти (здесь) .

Прямая загрузка: http://procps.sourceforge.net/procps-3.2.8.tar.gz

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

dpkg -S /usr/bin/watch


Найти исходный код для любой команды :

Так что если вы хотите посмотреть исходный код top, вы можете:

whereis top

enter image description here

Двоичным файлом для top является «/ usr / bin / top», и для поиска пакета, которому принадлежит этот файл:

dpkg -S /usr/bin/top

enter image description here

Убедитесь, что:

sudo apt-get install dpkg-dev

А затем вы можете найти исходный код пакета:

sudo apt-get source procps
sudo apt-get source gedit
sudo apt-get source <package-name>

Он загрузит tar в текущий каталог и извлечет его:

result of apt-get source

Затем мы сможем найти исходный код, как он работает:

how to download source code for a command

0
ответ дан 2 January 2014 в 21:50

Может быть, вы могли бы начать с strace watch.

На странице руководства strace :

   strace is a useful diagnostic, instructional, and debugging tool.  Sys‐
   tem  administrators,  diagnosticians  and trouble-shooters will find it
   invaluable for solving problems with programs for which the  source  is
   not  readily available since they do not need to be recompiled in order
   to trace them.  Students, hackers and the overly-curious will find that
   a  great  deal  can  be  learned about a system and its system calls by
   tracing even ordinary programs.  And programmers will find  that  since
   system  calls  and  signals  are  events that happen at the user/kernel
   interface, a close examination of this boundary is very useful for  bug
   isolation, sanity checking and attempting to capture race conditions.

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

0
ответ дан 2 January 2014 в 21:50

Я думаю, эта ссылка может помочь. Я просто Google для watch.c

0
ответ дан 2 January 2014 в 21:50
  • 1
    Я don' t понимают. Это имеет установку. Можно передать lat/lon как флаг или поместить его в файл конфигурации. – user3113723 28 June 2015 в 22:57

Другие вопросы по тегам:

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