Получить системное уведомление в определенное время?

использовать stat YOUR_FILE если сценарий записи, которые вычисляют:

rwx rwx rwx ==> ( r = 4 ) if set + ( w = 2) if set + (x = 1) if set , for example:
You have :
-rw-wxrw- => (4+2+0)(0+2+1)(4+2+) = 0636 
First argument before 9 permissions is one of :
- = regular file
d =  directory
b = block device
c = character device
s = socket
p = pipe
f = fifo

Между прочим, я использую stat command на Linux box, нет freebsd, потому что это занимается расследованиями HFS вероятно, работа с UFS.

1
22.08.2013, 13:27
1 ответ

Существует два низкоуровневых интерфейса, о которых я знаю:

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

Другой метод был бы предупреждением () системный вызов. Это позволяет Вам говорить ядру, что после того, как определенное количество времени передало его, должен отправить обработке вызовов SIGALRM. Вероятно, что необходимо будет создать соответствующий обработчик сигналов, который затем делает то, что Вы хотите сделать.

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

Ссылки (на Linux): человек 3 сна; человек 2 предупреждения;

2
27.01.2020, 23:39
  • 1
    () точно, что я искал. Для дополнения ответа в новейшем FreeBSD, это удерживается от использования в пользу setitimer (). –  Red 22.08.2013, 18:47

Теги

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