The UNIX and Linux Forums  
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。

Go Back   UNIXおよびLinuxフォーラム > オペレーティングシステム > リナックス
Googleのunix.com



リナックス RedHatのは、 Ubuntuのは、 SUSEの、フェドーラが、 Debian 、 Mandrivaは、 Slackware 、 Gentoo Linuxは、 PCLinuxOS 。すべてのLinuxの質問はここ!

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
インストールガイド: 11グラムOracleデータベースのOracle Enterprise Linuxの5日に1リリース アイボット Oracleの更新情報( RSSフィード) 0 2008年4月6日 06:10午前
アップグレードガイド: OracleのRACの11グラムのOracle Enterprise Linuxの上に移動 アイボット Oracleの更新情報( RSSフィード) 0 2008年4月6日 06:10午前
を構築する独自のOracle RACのクラスタ上でのOracle Enterprise LinuxとのiSCSI アイボット Oracleの更新情報( RSSフィード) 0 2008年4月6日 06:10午前
10グラムのOracle Enterprise LinuxのインストールのOracle RACの上でのVMware Serverを使用して アイボット Oracleの更新情報( RSSフィード) 0 2008年4月6日 06:10午前
オラクル(共和党)大学を開始Enterprise Linuxの研修と... - CNNMoney.com アイボット UNIXおよびLinuxのRSSニュース 0 2007年11月14日 午前10時

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2008年3月7日
sandiworld sandiworld is offline
登録ユーザー
  
 

参加日: 2007年10月
投稿数: 4
vgscanは出力のOracle Enterprise Linuxの上でファイル記述子を使用して生産している。

私は、コマンドを実行するためには、出力をファイルにリダイレクトされる子プロセスを作成する単純なプログラムを書いた。

詳しくは、下記のコードを見て- >

#含まれ<stdio.h>
#含まれ<stdlib.h>
#含まれ<sys/stat.h>
#含まれ<fcntl.h>

(文字** argv )を実行ボイド

pid_t pidを;
INTはステータス;

INTは\u003d ( " / tmpに/ outfile "オープンfStdOutDesc 、 O_CREAT | O_RDWR 、 S_IREAD | S_IWRITE ) ;
INTは\u003d ( " / tmpに/ errfile "オープンfStdErrDesc 、 O_CREAT | O_RDWR 、 S_IREAD | S_IWRITE ) ;

printf ( "出力ファイル%です説明dup2エ\ Ñ " 、 fStdOutDesc ) ;
printf ( "ファイル%ですメッセージ説明dup2エ\ Ñ " 、 fStdErrDesc ) ;

場合( ( pidをフォーク\u003d ( ) ) < 0 ) / *子プロセスをフォーク* /

printf ( "エラー:分岐子プロセスに失敗しました... \ Ñ " ) ;
出口( 1 ) ;


他の場合( pidを\u003d\u003d 0 ) / *子プロセスのために: * /

dup2 ( fStdOutDesc 、 fileno ( ) )はstdout ;
dup2 ( fStdErrDesc 、 fileno ( ) )はstderr ;

もし( execvp ( * argv 、 argv ) < 0 ) / *コマンドを実行* /

printf ( "エラー:実行に失敗しました... \ Ñ " ) ;
出口( 1 ) ;


他の親プロセス/ * : * /

は( ( &状態) ! \u003d PID )を待つ; / *完了を待つ* /



INTはメイン(ボイド)

文字のCMD [ 1024 ] ;
文字* argv [ 64 ] ;

printf ( "コマンドを入力してください: " ) ;
scanf ( " % " 、 & CMDに) ; / * ls用&作品vgscan *動作しない/
printf ( " \ Ñ " ) ;
argv [ 0 ] \u003dのCMD ;
argv [ 1 ] \u003d ' \ 0 ' ;
( argv )を実行;
戻り0 ;


上記のプログラムを実行した後、一方の入力(コマンド)を入力する場合は" ls " 、 " lsの出力"コマンドにリダイレクトされますを/ tmp / outfile 、 vgscanを入力した後、のいずれかで何もされませんが要求されますを/ tmp /またはoutfileを/ tmp / errfile 。

この問題は特にvgscan 、 pvscan 、 vgdisplay 、 lvdisplay等のようないくつかのコマンドでは、これらのコマンドの出力の場合、シェルから実行する。

これはOracleのEnterprise Linux用のケースです。他のLinuxのバージョンと同じプログラムを微細に取り組んでいます。

任意の仕方については非常に役立つだろう。
 

ブックマーク

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは オフ
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 07:47午前


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0