Handle a signal: Difference between revisions

Added Kotlin
No edit summary
(Added Kotlin)
Line 732:
^C
elapsed time: 4.689995572 seconds
</pre>
 
=={{header|Kotlin}}==
<lang scala>// version 1.1.3
 
import sun.misc.Signal
import sun.misc.SignalHandler
 
fun main(args: Array<String>) {
val startTime = System.currentTimeMillis()
 
Signal.handle(Signal("INT"), object: SignalHandler {
override fun handle(sig: Signal) {
val elapsedTime = (System.currentTimeMillis() - startTime) / 1000.0
println("\nThe program has run for $elapsedTime seconds")
System.exit(0)
}
})
 
var i = 0
while(true) {
println(i++)
Thread.sleep(500)
}
}</lang>
 
Sample output:
<pre>
0
1
2
3
4
5
6
7
8
9
10
^C
The program has run for 5.087 seconds
</pre>
 
9,488

edits