<div dir="ltr">Hi,<div><br></div><div>My first message here so it may be very n00b but well, I just started to pick up some Erlang a couple of days ago (I'm halfway through "Introducing Erlang" + I find this book quite enjoyable). So there's this one thing that's been bugging me ever since I learnt about processes, pids and the like - the shell pid seems to change after an error caused by malformed code or after a user exception is thrown. See this terminal session snippet:</div><div><br></div><div><div>Erlang/OTP 19 [erts-8.3] [source] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false]</div><div><br></div><div>Eshell V8.3  (abort with ^G)</div><div>1> self().</div><div><0.58.0></div><div>2> error(sadface).</div><div>** exception error: sadface</div><div>3> self().</div><div><0.61.0></div></div><div><br></div><div>So here you can see self() yields different values. Does anybody know why it happens the way it happens?</div><div><br></div><div>PS Of course I'm not implying there's something wrong with this kind of behavior but still it's really interesting.</div></div>