問題タブ [exec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - sudoers を更新した後でも PHP Web ページが unix コマンドを起動しない
基本的に、PHP Web ページからサービスを再起動しようとしています。
コードは次のとおりです。
しかし、/var/log/httpd/error_log
私は得る
sudoers gid に変更できません: 操作は許可されていません
そして /var/log/messages で、私は得る
9 月 22 日 15:01:56 ri カーネル: audit(1222063316.536:777): avc: pid=4851 の { getattr } が拒否されました comm="sh" name="var" dev=dm-0 ino=114241 scontext=root:system_r :httpd_sys_script_t tcontext=system_u:object_r:var_t tclass=dir
Sep 22 15:01:56 ri カーネル: audit(1222063316.549:778): avc: pid=4851 comm="sudo" scontext=root:system_r の { setrlimit } が拒否されました: httpd_sys_script_t tcontext=root:system_r:httpd_sys_script_t tclass=process
Sep 22 15:01:56 ri カーネル: audit(1222063316.565:779): avc: pid=4851 の { read } が拒否されました comm="sudo" name="shadow" dev= dm-0 ino=379669 scontext=root:system_r:httpd_sys_script_t tcontext=system_u:object_r:shadow_t tclass=ファイル
9 月 22 日 15:01:56 ri カーネル: audit(1222063316.568:780): avc: pid=4851 comm="sudo" name="shadow" dev=dm-0 ino=379669 scontext=root:system_r の拒否された { read } :httpd_sys_script_t tcontext=system_u:object_r:shadow_t tclass=file
9 月 22 日 15:01:56 ri カーネル: audit(1222063316.571:781): avc: pid=4851 の { setgid } が拒否されました comm="sudo" capability=6 scontext=root :system_r:httpd_sys_script_t tcontext=root:system_r:httpd_sys_script_t tclass=capability
Sep 22 15:01:56 ri カーネル: audit(1222063316.574:782): avc: pid=4851 comm="sudo" capability=7 scontext の { setuid } が拒否されました=root:system_r:httpd_sys_script_t tcontext=root:system_r:httpd_sys_script_t tclass=capability
9 月 22 日 15:01:56 ri カーネル: 監査 (1222063316.577:783): avc: pid=4851 の { setgid } が拒否されました。 =能力
私のvisudoで、これらの行を追加しました
User_Alias WWW=Apache
WWW ALL=(ALL) NOPASSWD:ALL
手伝ってくれませんか ?私は何か間違っていますか?
ご協力いただきありがとうございます、
ティボウン
c++ - C/C++ のワイド exec
wchar_t
のバージョンはありますかexec[lv][pe]
(つまり、パスおよび引数としてexec
使用するもの)? ではを実行できますが、では行き詰まります (つまり、純粋な等価物はありません)。プログラムにサポート (自動実行)を追加しようとしています。wchar_t
wchar_t
Windows
CreateProcessW(process, cmdline)
*nix
POSIX
UTF-16
c - エグゼクティブファミリー
exec ファミリを使用する必要があるプロジェクトがあります。私のプロジェクトは、インタラクティブなシェルの作成で構成されています。シェルは、cd、ls、echo などのいくつかの基本的なコマンドを実装します。私は exec の使用法を調査してきましたが、有用なサイトが見つかりませんでした。提案されたリンクは役に立ちます。
この操作の出力を画面に表示するにはどうすればよいですか?
java - getRuntime().exec 内で引用符を使用する
文字列を入力として使用して bash を呼び出したいと思います。何かのようなもの:
これを Java から実行したいと思います。残念ながら、 を使用してコマンドを呼び出そうとするとgetRuntime().exec
、次のエラーが発生します。
私の文字列がEOFで終了していないことに関連しているようです。
プラットフォーム固有の EOF を Java 文字列に挿入する方法はありますか? または、「sh」を呼び出す前に一時スクリプトに書き込むなど、別のアプローチを探す必要がありますか?
python - Python で os.execvp を使用する
os.execvp
Python での使用について質問があります。引数のリストを作成するために使用される次のコードがあります。
を使用して文字列を出力し、" ".join(args)
それをシェル プロンプトに貼り付けると、JVM が正常に起動し、すべてが機能します。os.system(" ".join(args))
Python スクリプトでも使用すると、すべてが機能します。
ただし、次のコードは機能しません。
次のエラーが表示されます。
それで、何が得られますか?シェルへのコピー/貼り付けまたは使用が機能するのに、なぜ機能しos.system()
ないのos.execvp()
ですか?
ruby - Ruby %x は 64 ビット Linux でフォークしますが、32 ビットではフォークせず、特定の構文でのみフォークします
ここにいくつかのRubyコードがあります:
32 ビットの Ubuntu Dapper では、次の出力が得られます。
それは私には理にかなっています。しかし、64 ビットの Ubuntu Hardy では、次のようになります。
ここで示されているのは、Ruby が exec の前に fork するケースが 1 つだけあるということです。コードをファイルに入れて strace -fF で実行すると、64 ビットの Hardy ではclone()
(like のようにfork()
) beforeを呼び出しているように見えますがexecve()
、32 ビットの Dapper ではそのようなことはしません。
私のRubyバージョンは次のとおりです。
インタープリターと OS とワード サイズをもっと組み合わせて調整する必要がありますが、これらのマシンを管理していないので、現時点では簡単ではありません。32 ビット システムで同じように動作する理由は言うまでもなく、64 ビット システムでのこれらのコマンドの違いさえ何かを教えてくれる人がいるかもしれません。
windows - Ruby/Webrick の場合、シバン (#!) 表記を認識するための Windows が必要です
(ご容赦ください。これがシバンとウィンドウに到達することを約束します。)
私は、最も単純なWEBRickサーバーをまとめました。
これ以上簡単なことはありません。この基本的なサーバーは、http 接続 (firefox、インターネット エクスプローダー、wget、TELENT) を受け入れ、静的ドキュメントをフェッチするだけであれば、それらを適切に処理します。ただし、ディレクトリ内のファイルの 1 つに .cgi 拡張子を設定すると、500 が返され、サーバーのターミナルに次のように表示されます。
cgi_runner.rb の 45 行目で行われていることを模倣するために、コマンド ラインでいくつかのことを行いました。
明らかに、WEBrick は Windows への着陸を許可されていません。あなたのいつもの企業パラノイアの頭痛の種は、私が webrick を変更することを妨げているので、OS (Windows) によって認識される c:/rubyCGI/test.cgi のシバン表記を取得できますか?使用する? すべての .cgi ファイルを ruby に関連付けることができましたが、長期的には制限されます。
更新: これを投稿して以来、Ruby から CGI Web サーバーを実行することはまったくできないかもしれないと思いました。ruby は fork をサポートしていません。プロセスをフォークする機能がないため、cgi サーバーは各 cgi スクリプトを一度に 1 つずつ実行する必要があり、最初のリクエストが完了するまですべての同時リクエストを無視していました。これは一部の人には受け入れられるかもしれませんが、私のアプリケーションでは機能しません。とはいえ、最初の質問に対する答え、つまり窓の下でシバンを動かすという質問にはまだ非常に興味があります。
java - PHP exec から Java を呼び出す
PHPで次のことを行っています。
これをコマンド ラインから実行すると、問題なく実行され、1 ~ 2 秒で終了します。
PHP exec からこのコマンドを実行すると、Java プロセスが 100% の CPU を使用し、戻りません。
何か案は?
また、「/usr/bin/java -Djava.awt.headless=true」を指定して上記のコマンドを実行してみました。
Mac OS X 10.5.5、MAMP 1.7、PHP 5.2.5 を実行しています
php - PHP exec() エラー応答を取得するには?
以下は、成功せずに実行しようとしたコマンドです。
最後に die() を追加すると、エラーがあることがわかります。
上記の exec() ステートメントでは、パーミッションの問題がエラーの原因ですが、PHP はそれを表示していません。発生しているエラーをPHPからどのように表示しますか?
sql-server - EXEC master..xp_cmdshell を一連のデータで使用できますか?
テーブル内の行ごとに 1 回 (EXEC master..xp_cmdshell 経由で) 実行したい単一の Windows シェル コマンドがあります。コマンド出力を作成するために、さまざまなフィールドからの情報を使用しています。
私は、(個々のクエリとは対照的に) T-SQL プログラムを作成することに慣れていないため、この構文について、またはそれが可能/推奨されているかどうかについて、頭を悩ませることができません。
単一の列テーブル変数を作成してから、実行するコマンドを各行に入力してみました。このテーブル変数を反復処理して、実際にコマンドを実行する方法がわかりません。グーグルで検索しても役に立たないことが証明されています。
助けてくれてありがとう!