最近社内の一部でpecoが流行っているので、流行に乗ってlaunchctl start/stopの対象をペコるシェル関数を作ってみた。
function launchctl-start() { local SERVICE_NAME SERVICE_NAME=$(launchctl list | grep "^-" | peco | head -n 1 | cut -f 3) if [ -n "$SERVICE_NAME" ]; then echo "Start ${SERVICE_NAME}" launchctl start $SERVICE_NAME else return 1 fi } function launchctl-stop() { local SERVICE_NAME SERVICE_NAME=$(launchctl list | grep -v "^-" | peco | head -n 1 | cut -f 3) if [ -n "$SERVICE_NAME" ]; then echo "Stop ${SERVICE_NAME}" launchctl stop $SERVICE_NAME else return 1 fi }
自分のMacではredisやmongodb等が動いている。これらのサービスはログイン時に起動してそのままなので、launchctlで起動停止する機会はまれだが、楽に起動停止できて便利だ。