As a quick note today, this is the source code for a Raspberry Pi (RPI) camera module shell script that I created so a friend can turn her Raspberry Pi camera on and off from the RPI command line (i.e., the Linux command line):
#!/bin/bash
function checkIfCameraIsRunning() {
ps auxw | grep raspistill | grep -v grep > /dev/null 2>&1
echo $?
}
function stopCameraProcesses() {
killall raspistill
killall mjpg_streamer
}
function startCamera() {
nohup mjpg-streamer-code-182/mjpg-streamer/run.sh 2> /dev/null &
}
function showMenu() {
clear
echo ""
echo ""
local res=`checkIfCameraIsRunning`
if [ "$res" = "0" ]; then
echo "I think the camera is running"
else
echo "I don't think the camera is running"
fi
echo ""
echo "1) Start Camera"
echo "2) Stop Camera"
echo "3) Restart Camera"
echo "q) Quit"
echo ""
}
while true
do
# (1) prompt user, and read command line argument
showMenu
read -p "Command: " answer
# (2) handle the input we were given
case $answer in
[1] ) echo "stand by ..."
startCamera
sleep 2
;;
[2] ) # STOP
echo "stand by ..."
stopCameraProcesses
sleep 2
;;
[3] ) # RESTART
echo "stand by ..."
stopCameraProcesses
sleep 2
startCamera
sleep 2
;;
[q] ) exit;;
* ) echo "Please enter 1, 2, 3, or q please.";;
esac
done
I’m not going to explain this code too much, but when you first run this script it shows a menu that looks like this:
I don't think the camera is running 1) Start Camera 2) Stop Camera 3) Restart Camera q) Quit Command:
The command to start the RPI camera module looks like this:
nohup mjpg-streamer-code-182/mjpg-streamer/run.sh 2> /dev/null &
Unfortunately I forgot to make a copy of that run.sh script so I can’t share those exact commands here, but I do know that it contained two main commands, one to start a long-running raspistill process, and a second command to run the mjpg_streamer process (that command is named that, or something like that).
Once that script is started you can access the mjpg_streamer output at a URL like this:
192.168.1.149:8080/javascript.html
I’ll add more details -- and a newer version of this script -- when I get a chance to work on this RPI system again. (I wrote a newer version of this script that lets you shutdown and reboot your computer using commands like sudo shutdown -h now and sudo reboot.)

