私は毎回私のプロキシ設定を切り替える関数を定義し、 問題は私が手動の介入なしにループで実行したいということです。しかし、私がsudoでプログラムを実行すると、最初にenがスムーズに実行され、2度目に私のsudoパスワードを求められます。ここに少しのコードがあります:subprocess.callを使用しているときにsudoのパスワードを入力する方法は?
def ProxySetting(Proxy):
print "ProxyStetting(Proxy)"
call("networksetup -setwebproxy 'Wi-Fi' %s" "on" % Proxy, shell = True)
call("networksetup -setsecurewebproxy 'Wi-Fi' %s" "on" % Proxy, shell = True)
call("networksetup -setftpproxy 'Wi-Fi' %s" "on" %Proxy , shell=True)
私はスレッディングを使うことができましたが、問題を起こさない方法があると確信しています。私はどのように私はハードコードの私のsudoのパスワードは、機能の冒頭で実行することができますか?
それは使用してサービス** systemdに**を作成し、サービス構成ファイルのパーミッションを追加する方が良いでしょう。 – Mikael
あなたの問題を正しく理解しているかどうかは分かりませんが、私の答えhttps://stackoverflow.com/a/44540122/7738328を見てみたいと思うかもしれません。これは 'サブプロセス'で 'sudo'を使うことについて話しています。しかし、上で述べたように、コマンド実行に 'sudo'を使うのを完全に避けることができれば良いです。 – JohanL
パスワードを入力しない限り、このコードは実行されません。そのスクリプトの意味を自動化して、そのパスワードを手動で入力する必要はありません。私はMikaelのソリューションを試しますが、rootコマンドが必要なすべてのファイルに権限を追加する必要はありません。 – TB1