2017-06-28 1 views
2

いくつかのシグナル番号がLinuxにアーキテクチャ依存するのはなぜですか?いくつかのシグナル番号がLinuxにアーキテクチャ依存するのはなぜですか?

Linuxは以下に示す標準シグナルをサポートしています。ここでは

man 7 signalからの信号と信号番号のリストとともに、引用です。 「値」列に示されているように、いくつかの信号番号はアーキテクチャに依存しますです。 [...] 3つの値が与えられた場合、最初のものはアルファとsparc、通常はx86、 アーム、およびその他のほとんどのアーキテクチャでは有効です。最後のものはmipsで有効です。

Signal  Value 
────────────────── 
SIGHUP  1 
SIGINT  2 
SIGQUIT  3 
SIGILL  4 
SIGABRT  6 
SIGFPE  8 
SIGKILL  9 
SIGSEGV  11 
SIGPIPE  13 
SIGALRM  14 
SIGTERM  15 
SIGUSR1 30,10,16 
SIGUSR2 31,12,17 
SIGCHLD 20,17,18 
SIGCONT 19,18,25 
SIGSTOP 17,19,23 
SIGTSTP 18,20,24 
SIGTTIN 21,21,26 
SIGTTOU 22,22,27 
+0

非常に興味深い観察。 Alphaの場合、カーネルソースには「Linux/AXPはLinux/i386とは異なる信号番号を持っています。少なくとも、通常のバイナリではOSF/1バイナリ互換にしようとしています。互換性、私はそれがどのOSで、どのようにバイナリ互換性がLinux上で動作しているのか知りたいです。 –

+0

@thatotherguy Tru64 Unixは、通常Alpha上で動作するものです。 Sparcの場合、おそらくSolaris(AT&T SRV4 Unix ... Tru64がおそらく共有している)で同じ値を持っているので、IRIXを実行しているMIPSは恐らくLinuxのように奇妙なことでしょう。 – cb88

答えて

1

あなたが何か他のものと互換性があるように欠けている場合を除き、これらは任意の数です。

つまり、Tru64 UNIX for Alphaです。 Solaris for Sparcの場合、おそらくAT & T Unix SRV4からこれらの番号を得るでしょう。

そしてIRIX for MIPSはLinuxのように奇妙です。

Linuxには、それ自身との下位互換性のために独自の番号があります。

関連する問題