我正在尝试安装所有必需的文件--一个库--使用一个.sh文件将raspberry pi安装到raspberry pi。这是我的什
#!/bin/sh
#installer.sh
cd /
sudo mkdir /home/pi/Scripts/rclient
sudo pip install signalr-client
sudo pip install signalrcore
sudo apt install libffi-dev
sudo pip install cffi
sudo pip install aenum
sudo pip install requests-toolbelt
sudo python2 -m pip install PyMySQL
cd /home/pi/Scripts
sudo tar xfv agent-service.tar
cd /home/pi/Desktop/service
sudo mkdir /home/pi/.config/autostart
echo "
[Desktop Entry]
Type=Application
Name=launcher.sh
Exec=/home/pi/Scripts/service/launcher.sh
" >>/home/pi/.config/autostart/service.desktop
sudo chmod +x /home/pi/Scripts/service/launcher.sh
sudo chmod +x /home/pi/Scripts/service/open_script.sh
sudo chmod +x /home/pi/Scripts/service/service
sudo mkdir /home/pi/Scripts/f我用:sudo chmod +x installer.sh使这个文件可执行
并从我的python脚本调用它:os.system("/home/pi/Scripts/installer.sh")
但是我得到了Errno 26文本文件繁忙的错误。
我的.sh文件有什么问题吗?还是我的剧本?我不明白。
发布于 2019-11-23 10:15:00
运行lsof /home/pi/Scripts/installer.sh或fuser /home/pi/Scripts/installer.sh,以检查使用导致其繁忙的文件处理它的过程。
然后终止进程以释放文件。
发布于 2019-11-23 11:21:59
当试图更新当前正在执行的二进制程序(或共享库.so)时,将出现消息“Errno 26文本文件繁忙”。很可能是‘tar’命令。
假设tar正在解压缩二进制文件,在解压缩tar文件之前,考虑删除‘/home/pi/Script/rclient’或其他二进制文件(可执行文件、共享库)。
您还可以考虑添加“set-x”,以找出哪一行会产生错误,问题不在于tar。如果识别单个文件,则可以在安装新版本之前删除或重命名该文件。
https://stackoverflow.com/questions/59006519
复制相似问题