るりまサーチ

最速Rubyリファレンスマニュアル検索!
13件ヒット [1-13件を表示] (0.118秒)
トップページ > クエリ:l[x] > クエリ:-[x] > クエリ:syscall[x]

別のキーワード

  1. kernel $-l
  2. matrix l
  3. _builtin $-l
  4. lupdecomposition l
  5. $-l kernel

種類

ライブラリ

モジュール

検索結果

Kernel.#syscall(num, *arg) -> Integer (24355.0)

numで指定された番号のシステムコールを実行します。 第2引数以降をシステムコールの引数として渡します。

...
syscall
(2) や
/usr/include/sys/syscall.h を参照してください。

システムコールの慣習に従い、syscall(2)
-1 を返す場合には例外 Errno::EXXX が発生します。
それ以外では、返した値をそのまま数値で返します。

ライブラリ fiddle を...
...no::EXXX syscall(2) が -1 を返した場合に発生します。
@raise NotImplementedError 実行環境がこのメソッドに対応していないとき発生します。

//emlist[例][ruby]{
syscall
4, 1, "hello\n", 6 # '4' is write(2) on our box
# => hello
//}

@see fiddle, syscall(2freebs...
...d), syscall(2linux)...

セキュリティモデル (3102.0)

セキュリティモデル RubyにはCGI等のプログラミングを安全に行うことを助ける為に、セキュリティ 機構が備わっています。

...引き継ぐ
//emlist[][ruby]{
$SAFE = 0
th = Thread.new{
p $SAFE # => 0
$SAFE = 1
}
th.join
p $SAFE # => 0
//}
* $SAFE の値を現在の値より小さく変更する事はできない
//emlist{
$ ruby -e '$SAFE = 1; $SAFE = 0'
-
e:1: tried to downgrade safe level from 1 to 0 (Sec...
...す。

===== 汚染されるオブジェクト

* IOや環境変数、コマンドライン引数(ARGV)から得られた文字列

$ ruby -e 'p ARGV[0].tainted?' hoge
true

環境変数PATHだけは例外で、値に危険なパスを含む場合のみ汚染されます。

ここ...
...IO#ioctl, IO#fcntl
* Process.fork Process.#setpgid Process.#setsid
Process.#setpriority Process.#egid= Process.#kill
* 危険なパスからの Kernel.#load
* 汚染された文字列を引数にしての Kernel.#load (ラップされていても)
* Kernel.#syscall
* Kernel.#exit...