Команда lsof
подготовлена специально для того, чтобы ее можно было использовать из других программ, включая C, см. Раздел: ВЫХОД ДЛЯ ДРУГИХ ПРОГРАММ из man lsof
для получения дополнительной информации.Например, вы можете вызвать lsof
с помощью -F p
, и он выведет pid процессов с префиксом 'p'
:
$ lsof -F p /some/file
p1234
p4321
, которые вы затем можете использовать popen для выполнения этогоcommmand в дочернем процессе и чтение из его стандартного вывода.