私はCの経験がありませんが...
Linuxシステム用のプログラムをCで作成したい場合は、ローカルファイル/ディレクトリが更新されると自動的にローカルファイル/ディレクトリをリモートファイル/ディレクトリに同期します。どのライブラリまたはビルトインを見る必要がありますか?
私はこれまでinotifyを見てきましたが、助けなしにこれを検索するための用語が本当に不足しています。
編集
これは単なる演習です。
inotify
行く方法です。行き詰まったら、戻ってきて、ここでより具体的な質問をしてください。
開始するための例を次に示します(C ++出力ステートメントを言い訳し、printf
代わりに想像してください)。
void waitfor_activity(const char *path)
{
const int fd = inotify_init();
const int wd = inotify_add_watch(fd, path, IN_MODIFY | IN_CLOSE_WRITE);
char buffer[EVENT_BUF_LEN];
while (true)
{
const ssize_t length = read(fd, buffer, EVENT_BUF_LEN);
if (length < 0) {
perror("read");
}
const struct inotify_event *event = ( struct inotify_event * ) buffer;
std::cout << "event: ";
if (event->mask & IN_CLOSE_WRITE)
{
std::cout << "IN_CLOSE_WRITE ";
}
if (event->mask & IN_MODIFY)
{
std::cout << "IN_MODIFY ";
}
std::cout << std::endl;
}
close(fd);
}