Internal reason for killing process taking up long time in mysql
The reason the kill takes so long is most likely due to the rollbacks issued by the innodb transaction. From InnoDB performance tips:


  Beware of big rollbacks of mass inserts: InnoDB uses the insert buffer to save disk I/O in inserts, but no such mechanism is used in a corresponding rollback. A disk-bound rollback can take 30 times as long to perform as the corresponding insert. Killing the database process does not help because the rollback starts again on server startup. 


Edit:
The innodb force recovery methods might be of  use to you (glad you did this on a test environment)


  You can kill the mysqld process and set innodb_force_recovery to 3 to bring the database up without the rollback, then DROP the table that is causing the runaway rollback.


And next time, insert a small subset of data each time. 10 million rows shouldn't take that long to insert, but there could be multiple reasons it does. Without knowing your environment I can't offer advice on that.