【笔记】树莓派让程序在后台运行的两种方法
之前有用过mplayer播放音乐,当我们启动播放器播放音乐的时候,播放器界面会一直占用着终端,无法进行其他的操作。我们是希望将播放器置于后台运行,不影响终端进行其他工作。本文使用两种方法实现将程序置于后台运行。
实验环境
硬件:树莓派3b一台
操作系统:Raspbian with Desktop
测试
我们先用mplayer播放一下MP3,MP3文件自行下载或者从PC上下载通过FTP上传到派上
pi@raspberrypi:~/Music $ mplayer thats-why.mp3
我们发现mplayer会一直占用着终端直到播放结束,按Ctrl+C可以强制终止播放。下面我们尝试来解决这个问题。
一、使用&字符将程序置于后台
pi@raspberrypi:~/Music $ mplayer thats-why.mp3 < /dev/null > /dev/null 2>1 &
如上图,使用了&字符会创建新的进程来运行mplayer,进程ID为1179。符号 < 为重定向符,< /dev/null > /dev/null 2>1 表示将输入输出信息、错误信息都重定向到/dev/null文件,/dev/null文件不管传入什么数据都会被丢弃。详情可自行搜索Linux相关的基础知识。
二、使用screen创建新的终端运行程序
1、安装screen
pi@raspberrypi:~/Music $ sudo apt-get install screen
2、使用screen创建新的终端
pi@raspberrypi:~/Music $ screen -S music
成功创建后会清屏
3、在新的终端播放MP3
pi@raspberrypi:~/Music $ mplayer thats-why.mp3
我们发现依然是占用着当前的终端,此时我们可以将终端关闭,音乐依然在后台播放。如果不使用screen的话,关闭了终端,在终端上运行的程序会被同时关闭。现在我们可以使用ssh重新连接到树莓派上。
4、重新进入screen
重新使用ssh连接派之后输入:
pi@raspberrypi:~ $ screen -r music
我们可以看到,之前的播放依然存在,同样可以实现我们后台播放的目的。
更多
关注微信公众号及时获取更新文章,欢迎大家跟我交流技术与想法: