UNIXで、同じコマンドを複数同時に実行する方法がわかりません。
実行させたいコマンドは条件によってほんの数秒で終わったり
長い時間がかかるため、ターミナルを複数上げて端から順番に
enterしていくという方法では当然間に合いません。

このコマンドを何個同時に実行するよ、そういう方法ってないのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

> バックグランド起動しても、連続で指定回数


> だけコマンドを実行するだけで、すべての
> コマンドが同時に実行していることには
> ならないと思うのですが?
まず、「&」付きでコマンドを起動すると、
コマンドの起動処理後、制御は元のシェルに戻る
ので、背後ではきちんと「複数起動(稼動)」して
います。
でもこれはあなたの言う「同時起動」とは異なるのでしょう。

確かに「複数起動(稼動)」と「同時起動(同時刻に
おける複数プロセスの同時起動)」は異なります。

プロセスの「全くの同時起動」は不可能です。
シェルスクリプトから起動するにせよ、プログラム内
からfork()で起動するにせよ、「起動する」と言う
アクション自体はCPU内部では時系列的に行われる
ため、絶対にコンマ何秒かの誤差は発生します。
    • good
    • 0

こんにちわ。


同時にプロセスを起動したいとのことですが、時分割システムである限り、厳密な意味での同時実行は無理だと思います。もし、ほぼ時間差が無いように実行させるのでしたら、実行させたいプログラム内でシグナルハンドラと、タイマー関係のシグナルを利用して、ある時刻に実行再開するようにすれば、多少はタイムラグが解消できるとは思いますが、これでも誤差が出ると思います。
    • good
    • 1

あなたが言いたいことがよくわからないのですが。

用はバックグラウンド
でプログラムが実行できればいいのかな?
なら
>コマンド &
と最期に&をつければすぐにコマンドラインの処理にもどれますから
もちろん
>コマンド & コマンド & コマンド & コマンド &
とやれば4つのプログラムが同時に動きます。
ただ、処理結果の表示は同時にはできないのでリダイレクトするなりして
ファイルにほぞんしたほうがいいです。

この回答への補足

バックグラウンド起動ということでなく、同時起動です。
たとえば、hoge.shというスクリプトを10個同時に起動して、
psコマンドで調べたらhoge.shというのが10プロセス存在することが確認できる
というようなことを望んでいます。

ご指摘の方法ですと、
#> hoge.sh & hoge.sh & hoge.sh & hoge.sh & hoge.sh &
というようなコマンドを実行すると思いますが、
これですと順次コマンドを実行しているだけであって、
最後のhoge.shが実行されるまえに1番目が終わっていることもありますよね?

そうでなくで、よーいドンで5個起動できるような方法を探しています。
マルチスレッドなプログラムやcronを利用しろといえばそれまでですが。

補足日時:2001/05/30 17:19
    • good
    • 0

シェル・スクリプトなどでバッチファイルを作り、実行するのがいちばん簡単だと思います。


 ピッタリ正確に同時刻に始めたい、ということであればatやcronなどを使って時刻起動してやれば実現できるかと思いますが。

この回答への補足

スクリプトの内部では、どのようにして実行させたいコマンドを呼び出せばいいのでしょうか?
forループとかで指定回数だけループさせて、ループのなかでコマンドを&付きで
バックグランド起動しても、連続で指定回数だけコマンドを実行するだけで、
すべてのコマンドが同時に実行していることにはならないと思うのですが?

補足日時:2001/05/30 17:13
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q合併と同時に本店移転

いつもお世話になっております。

現在、西日本の本社と東日本の支社があり、これを合併しようとしています。
合併と同時に、本店を東日本の住所へ移転させることについて、特に税務上の問題やその他実務上、運用上の問題点などあれば(何でもいいので)ご教授ください。

最後まで読んでいただき有難うございます。

Aベストアンサー

 X社を本店移転するには、X社の本店所在地に関する定款の規定を変更をする必要があります。
 合併と同時に本店移転するのでしたら、吸収合併効力発生日以降にその定款変更の効力が生じる旨の内容の株主総会決議をしてください。

Qroot権限の実行コマンドを通常ユーザーで実行

root権限に限らないのですが、他のユーザーの権限でしか実行できないコマンドを自分で実行する方法が知りたいのです。
と言っても、rootや他ユーザーのパスワードを知っているという前提です。

例えば、通常ユーザーで作業をしているときに、root権限で行う必要のあるコマンドを実行したいとします。
今は、suでログインしてから実行していますが、shellスクリプトで実行したいと思っています。

どういったshellスクリプトになりますでしょうか?

Aベストアンサー

> 今回やろうと思ってるのは、suでログインしてから、いくつかの操作を行いたいので

であれば、そのいくつかの操作をまとめてシェルスクリプトにして、
それを su の -c に渡せば良いですね。

例えば、rally というユーザで、シェルスクリプト名が do_rally.sh とします。
スクリプトに実行権限がついていなければ

% su - rally -c "sh do_rally.sh"

という感じ。実行権限がついていれば

% su - rally -c do_rally.sh

で良いです。

ただ、最低一回はパスワードの入力があるので、su を使っている限りは
それからは逃れられません。

# ちょっと遅くなったので、もう sudo を使っているかな?

Q開発者の一般的な仕事の分量について

VBAが多少できる程度の素人に毛が生えたような技術者です。
開発者の皆様の環境やご意見をお聞かせください。

5ヶ月程度かかる長期の開発案件と、3週間ほどでリリースして
欲しいという要望の急ぎの開発案件を同時に振られました。
※3週間で終わるかどうかはわかりません…。
最初に申した通り、開発者として私の能力は決して高くないため、
同時にこなせる自信が全くありません。

そこで一般的に開発者の方々は案件を複数同時に抱えたり
するものなのかをお聞かせいただけないでしょうか。
同時に開発を行っている場合、どのように頭を切り替えているのか等も
教えていただければ幸いです。よろしくお願いします。

Aベストアンサー

一般論で言えば、普通掛け持ちではやりません。
掛け持ちを多くした場合、1つの遅れが他へも影響してしまうため、悪循環に陥りやすくなります。
(大抵は計画通りにいくことはなく、遅れるものですし)

但し、長期の案件のフェーズが設計期間ならば、ありかも知れませんが。

Qiptableコマンドを複数記載したスクリプトを実行したいです。

Linuxのコマンドについてお聞きしたいです。
iptableコマンドを複数記載したスクリプトを作成し、そのスクリプトを実行することによってパケットフィルタリングの設定をしようと思っています。
Windowsで下記のようなファイルを作成しました。

#!/bin/sh

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

iptables -P INPUT DROP
iptables -P FORWARD DROP

iptables -A FORWARD -i eth1 -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -d 210.98.76.54 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth1 -d 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -d 202.228.202.2 -p udp --sport 53 --dport 1024:65535 -j ACCEPT

iptables -A INPUT -j LOG --log-prefix "### INPUT ###"
iptables -A FORWARD -j LOG --log-prefix "### FORWARD ###"


これをLinuxの/rootに作成したbinフォルダにフロッピーでコピーしました。
ファイル名をfilterにしたので、[root@linux root]# filter とし、Enterとし、
スクリプトを実行して設定を反映させようとしました。

しかし、: bad interpreter: そのようなファイルやディレクトリはありません
と出てしまいます。

何が足りないのでしょうか?

Linuxのコマンドについてお聞きしたいです。
iptableコマンドを複数記載したスクリプトを作成し、そのスクリプトを実行することによってパケットフィルタリングの設定をしようと思っています。
Windowsで下記のようなファイルを作成しました。

#!/bin/sh

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

iptables -P INPUT DROP
iptables -P FORWARD DROP

iptables -A FORWARD -i eth1 -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -...続きを読む

Aベストアンサー

スクリプトをWindowsで作成したからです.
改行コードに余分な<CR>があり,/bin/sh<CR>という
コマンドは無いので,bad interpreter になります.

dos2unix というコマンドが使えれば,簡単コードを
変換できます.

まあ,今後のためには,Linux上でエディタを使える
ようになることをお勧めします.

Q会社合併時の個別催告について

会社を合併することになり、3月に官報公告し、同時に債権者に個別催告を行いますが、
個別催告を行う債権者は公告時の債権者でよいのでしょうか?公告から合併までに発生した
債権者にはどういう対応をとればよいのでしょうか?
また、債権者はすべてではなくて主要な債権者でよいと聞いたことがあるのですが、金額などの
基準があるのでしょうか?

Aベストアンサー

個別催告は、公告時の知れたる債権者すべてにおこないます。金銭債権に限りませんので、額といった基準などありません。金銭のみならずいかなるタイプであれ、会社にたいする債権者全員です。

公告後、債権関係にはいった人は公告してあるのでそれを承知で債権関係にはいったものとして個別催告の対象ではありません。なお合併事項について法定の会社備え付け書類の閲覧に供するようにしてください。

Qターミナルに表示された文字をファイルに保存するコマンド

ターミナルにキータイプして入力した文字や、ターミナルに表示される標準出力、標準エラー出力を全て1つのファイルに保存するようなUNIXのコマンドがあったような気がするのですが、なんだったか教えていただけないでしょうか?

Aベストアンサー

script のことかな?
script ファイル名
で、ファイル名に記録開始、exitで記録終了します。

Qインターネットをしていてふと疑問に思ったのですが、企業は合併や新製品の

インターネットをしていてふと疑問に思ったのですが、企業は合併や新製品の発表や、開発に成功した。などの情報を最初にどこを通じて公開するんでしょうか?

個人的には自社HPかマスコミに直接連絡などの方法だと思うのですが、詳しい方がいらっしゃいましたら教えてください。よろしくお願いします。

Aベストアンサー

内容により違いますね。
たとえば、上場企業なら証券取引所へ真っ先に届け出ないと罰則があります。
新製品の発表なんかは隠しておけるなら、イベント会場を使って大々的にやるか、日本経済新聞に特集記事を書かせるか、全国紙に全面広告を打つか…。

QUNIXのコマンドについて

カレントディレクトリ以外のディレクトリ(/home/ABC)にあるファイル(SORT.exe)を実行する時、pager "less"を併用して画面出力を分割するコマンドを教えてください。

また、そのファイルの標準出力をカレントディレクトリ上のWoutファイルに追加するコマンドを教えてください。

pager less Wout などの意味もあわせて教えてほしいです。
よろしくお願いします。

Aベストアンサー

>less のあとに何か打ち込むことで画面を分割できるのでしょうか?
うーん、UNIX(Linux) の less は画面分割の機能はなかったと思いますけど。
less の機能すべてを使い切っているわけではないので自信はありません。
vi(UNIX 伝統のエディタ)の改良版 vim だったらできたと思います。
screen コマンドというのを使えばどんなコマンドでも分割表示はできます。

参考URL:http://www.dekaino.net/screen/index.html

Q合併と買収

合併会社は被合併会社の資産と負債を引き継ぐとともに、合併会社の株式や金銭(合併交付金)を被合併会社の株主に交付する。というのがよくわかりません。合併前の被合併会社の株はどうなるんですか?

合併と買収の大きな違いはなんですか?

詳しくわかりやすい回答お願いします!!!!!

Aベストアンサー

M&Aをビジネスにしています。
残念ながら#1さんの回答は誤りがあります。
一般的なケースについて以下に記載します。例外もあるのですがあまり細々書いて誤解があるといけませんので。

合併と株式買収はM&Aの一形態ですが、根本的に形態が違います。
買収(吸収)する側をA社、される側をB社として以下説明します。

株式買収
 B社の株主が所有している株式を、A社が現金で買い取ることによりB社の株主総会を支配する方法。
 支配する株式の割合によって影響度が異なり、過半数を取得した時点でほぼ経営権を取得したとみなされる。
 B社は、株主の変更(+経営陣の変更)に留まり、A社の子会社としてそのまま企業体が存続する。

吸収合併
 A社がB社を組織上吸収し一つの企業にする方法。B社の債権債務、権利や義務は包括的にA社に引き継がれ
 B社は組織としては消滅する。
 B社の株主は、その保有するB社株を一定の交換比率でA社の株式に交換してもらう(つまりA社の株主に加わる)。
 A社は自社の株式を新規に発行しB社株主に割り当てればよいため、原則、買収のための現金は不要。
 但し、A社の株主の中にB社の株主が加わるため、自社の株主支配地図が変わる可能性がある。

これら以外にも色々なM&A手法(営業譲渡、株式交換など)があります。いずれも一長一短がありますので
ケースによって使い分けが必要です。

M&Aをビジネスにしています。
残念ながら#1さんの回答は誤りがあります。
一般的なケースについて以下に記載します。例外もあるのですがあまり細々書いて誤解があるといけませんので。

合併と株式買収はM&Aの一形態ですが、根本的に形態が違います。
買収(吸収)する側をA社、される側をB社として以下説明します。

株式買収
 B社の株主が所有している株式を、A社が現金で買い取ることによりB社の株主総会を支配する方法。
 支配する株式の割合によって影響度が異なり、過半数を取得し...続きを読む

QscanfのようなUNIXコマンドはあるでしょうか

このカテゴリでよいのかわかりませんが、質問させて頂きます。
OSはHP-UX11.23を使用しています。

スクリプトを実行する際、一旦ストップしたい場所を
指定したいと思います。
その際、scanfのようなUNIXコマンドがあるでしょうか。
ctrl+cなどでは、指定した個所でストップできません。
scanfであれば、キー入力するまでストップできるし、
どのようなキーを入力しても、次の処理に移ることが
可能です。
決まったキーを入力しなければならない場合、間違える
とそのスクリプトは終了してしまうと思うので、
scanfのようなUNIXコマンドを教えて頂ければ
と思います。
よろしくお願いします。

Aベストアンサー

シェルスクリプトでの事でしょうか?

その場合、キーボードの読み込みは
read 変数名
手な感じでにします。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング