質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

Q&A

2回答

6841閲覧

PHPスクリプトの強制終了コマンドを無効にする方法はある?

farier

総合スコア21

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

コマンドライン

コマンドライン(別名:Command Line Interface)は、ユーザに命令の入力を促す(プロンプト)文字列の表示を行い、すべての操作をキーボードを用いて文字列を打ち込む事でプログラムを走らせるユーザインターフェースです。

0グッド

0クリップ

投稿2014/11/13 01:29

タイトル通りなのですが、ターミナルでPHPスクリプトを実行した場合に、Ctrl+z もしくはCtrl+cでPHPスクリプトの強制終了が出来ますが、これを無効にする方法はありますか?

操作ミスでやらかしてしまうときが多々あるので非常に困っています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

無視するだけならハンドラに SIG_IGN を指定すると簡単です。

lang

1<?php 2pcntl_signal(SIGINT, SIG_IGN); // Ctrl+C 3pcntl_signal(SIGTSTP, SIG_IGN); // Ctrl+Z 4 5for(;;) { 6 echo "."; 7 sleep(1); 8}

ただ、スクリプトを終了するには別のコンソールから kill する必要があるので逆に不便な気もしますが・・

それと Ctrl+Z は普通は終了ではなく停止なので、Ctrl+Z の後に fg と打てば再開できると思います。

投稿2014/11/16 03:28

ngyuki

総合スコア4514

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

**pcntl_signal()**を使えば取得できると思います。

プロセス制御http://www.php.net/manual/ja/book.pcntl.php
pcntl_signal()http://www.php.net/manual/ja/function.pcntl-signal.php

//例えば、以下のように Ctrl+cの場合は SIGINTと言うシグナルで取得できます

lang

1<?php 2declare(ticks = 1);

pcntl_signal(SIGINT, "sig_handler"); //SIGINTSIGHUPなど、
取得したい物に合わせて変更してください

lang

1function sig_handler($signal) { 2 switch($signal) { 3 case SIGINT: 4 print "Ctrl C\n"; 5 //ここの部分で、無効にする等の処理を入れる 6 } 7}

投稿2014/11/13 07:34

iken

総合スコア47

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問