снятие / закрытие камеры

Я открыл веб-камеру для захвата с использованием OpenCV на C ++. Затем я остановил программу, используя CTRL + Z ;

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

Ошибка:

libv4l2: error setting pixformat: Device or resource busy HIGHGUI ERROR: libv4l unable to ioctl S_FMT ... 

Я нашел идентификатор процесса, используя lsof|grep libv4l2 :

 capture 5591 mylove mem REG 8,8 52584 1737777 /usr/lib64/libv4l2.so.0.0.0 

и попытался закрыть захват, используя kill 5591 а также pkill capture с использованием обычного пользователя и пользователя root. Но светодиод камеры по-прежнему включен, и моя программа не может запускаться.

Что является самым быстрым и лучшим способом для выпуска / закрытия камеры?

Когда вы используете Ctrl + z , процесс отправляется на задний план, поэтому никогда не останавливался. Вы можете видеть свои процессы в фоновом режиме с помощью команды jobs . И восстановите процесс командой fg .

Попробуйте остановить процесс с помощью Ctrl + c .