Existe o infame lsof
:
sudo lsof /var/lib/dpkg/lock
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
aptitude 4974 root 3uW REG 8,23 0 815673 /var/lib/dpkg/lock
Neste caso, o aptitude está usando o arquivo. Você deve usar root caso não tenha certeza de qual usuário está bloqueando o arquivo. Também é útil para um monte de coisas, infelizmente não vem instalado com o Ubuntu, então você tem que instalá-lo primeiro.
Para o resto dos mortais, há o comando fuser
. Isso é peculiar, pois só retorna o PID em vez do nome do processo:
➜ ~ sudo fuser /var/lib/dpkg/lock
/var/lib/dpkg/lock: 4974
Aqui diz que o arquivo e PID, que é 4974, então devemos investigar quem é:
➜ ~ ps 4974
PID TTY STAT TIME COMMAND
4974 pts/1 Sl+ 0:06 aptitude