現在、私はmailqメッセージを削除するためにシェルスクリプトを使用しています。そのシェルスクリプトをCコードに変換するためのサムヘルプが必要です。どんな例や助けもありがとうございます。私はちょうどそれをするためにいくつかの基本的な方向をしたい。mailqメッセージを削除するためのCコード
この私が使用しています現在のコード:
#!/usr/bin/ksh
WORKFILE="/tmp/check.mq"
MAILLIST="emailadress"
mailq|grep -B1 -i temporarily |grep -iv deferred |egrep -i 'jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec' |awk -F" " '{print $1}' |awk '{print substr($0,10,14)}' |tee -a $WORKFILE |awk '{print "*" $1}' |tee -a mail.mq
mailq|grep -B1 -i unknown|egrep -i 'jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec' |awk -F" " '{print $1}' |awk '{print substr($0,10,14)}' |tee -a $WORKFILE |awk '{print "*" $1}' |tee -a mail.mq
mailq|grep -B1 -i lookup |grep -iv deferred |egrep -i 'jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec' |awk -F" " '{print $1}' |awk '{print substr($0,10,14)}' |tee -a $WORKFILE |awk '{print "*" $1}' |tee -a mail.mq
cat mail.mq | while read file; do rm -rf /var/spool/mqueue/$file;done
rm -rf mail.mq
を基本的に私は、メッセージIDの最後の5つの数字の部分文字列を使用して、私のMAILIDにし、これらのIDを削除するよりも、それを送っています。
なぜこれをCに変換したいのですが、何を試しましたか?あなたはどこにいるのですか? – Mat
ありがとうMat 問題はsetuidである私はユーザーにルート権限を与えたいから、Cはバイナリにコンパイルするので、これをCで欲しい。 現在、私はCプログラム –
からこのスクリプトを呼び出そうとしました。おそらく何かをCに変換する最悪の理由です。スクリプトを制限付きのアクセス許可で保持し、 'sudo'を使用してください。 – Mat